博客
关于我
linux的pthread_self与gettid的返回值和开销的区别
阅读量:792 次
发布时间:2023-02-04

本文共 764 字,大约阅读时间需要 2 分钟。

pthread_self()与gettid()性能对比测试

在进行线程相关开发时,了解不同线程获取函数的性能特性至关重要。以下是关于pthread_self()和gettid()函数的性能测试分析。

测试环境

测试机为Intel i7 860 2.8GHz,八核,各调用一千万次,二者效率基本一致。测试代码如下:

#include 
#include
#include
#include
pid_t gettid(void){ return syscall(SYS_gettid);}int main(){ int i=0; printf("%u %lu", gettid(), pthread_self()); for(i=0; i<10000000; i++){ gettid(); // pthread_self(); }}

测试结果分析

通过测试可以发现,gettid()的性能表现略优于pthread_self(),具体对比结果如下:

  • gettid()测试结果:

    [root@test]# time ./a.out real	0m0.572suser	0m0.230ssys	0m0.342s
  • pthread_self()测试结果:

    [root@test]# time ./a.out real	0m0.570suser	0m0.250ssys	0m0.321s

结论

从测试结果来看,gettid()在执行时间上稍快,而pthread_self()的用户空间执行时间略低。这表明,在特定场景下,可以根据实际需求选择合适的线程获取方式。

转载地址:http://hpkfk.baihongyu.com/

你可能感兴趣的文章
Linux系列:Harbor 1.9.3 升级到 2.8.0 的坑与过程
查看>>
Linux系列:Linux上杀毒软件有哪些?
查看>>
Linux系列:RPM安装 + yum安装 + 源码安装的区别&优缺点、CentOS下的yum安装 + yum源配置 + yum镜像源、Linux下的源码安装
查看>>
Linux系统 shell基础(一)
查看>>
Linux系统(Ubuntu)上安装单机版Redis详细指南
查看>>
linux系统/opt目录和/usr/local目录有什么区别
查看>>
linux系统rootkit恶意软件安全检测工具rkhunter安装部署、使用详解
查看>>
linux系统——hosts文件修改
查看>>
Linux系统上安装MySQL 5.5prm
查看>>
Linux系统上的磁盘扩展总结
查看>>
Linux系统下如何使用中文输入法
查看>>
linux系统下如何创建二级域名和删除这个目录文件
查看>>
Linux系统下安装配置 OpenLDAP + phpLDAPadmin
查看>>
linux系统下查看内存使用情况
查看>>
Linux系统下查看硬件信息命令大全
查看>>
LInux系统两套管理网络连接的方案interfaces和Network-Manager
查看>>
linux系统中 修改oracle数据库字符集问题
查看>>
Linux系统中/etc/init.d和/etc/rc.d/rc.local的区别
查看>>
Linux系统中cgroup介绍
查看>>
linux系统中chmod用法详解
查看>>