博客
关于我
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服务器如何配置qq邮箱,linux用mail往qq邮箱发邮件
查看>>
Linux服务器存储共享操作
查看>>
Linux服务器存在大量log日志,如何快速定位错误?(非常详细)零基础入门到精通,收藏这一篇就够了
查看>>
Linux服务器安装Nginx
查看>>
Linux服务器密码批量修改
查看>>
Linux服务器性能测试_Linux服务器网速测试
查看>>
Linux服务器性能监控利器 —— Nmon实战
查看>>
Linux服务器搭建DNS服务:深入解析与实战配置!------文章最后有福利哦,快来领取。...
查看>>
linux服务器用户管理
查看>>
Linux服务器登陆安全设置,并使用ssh keys登陆
查看>>
Linux服务器的关机或者重启你一般会怎么操作?今天介绍5种办法,最后一种可以成救命草!
查看>>
linux服务器的常规操作命令,Apache服务器常规操作
查看>>
Linux服务器的稳定性优势有哪些
查看>>
linux服务器的稳定性优势有哪些
查看>>
linux服务器监听服务sid_linux下重启oracle服务:监听器和实例
查看>>
Linux服务器网络丢包场景及解决办法
查看>>
linux服务器负载分析
查看>>
Linux服务器运行命令df -h无响应
查看>>
Linux服务器还有漏洞?建议使用 OpenVAS 日常检查!
查看>>
Linux服务器那么多参数该如何监控,掌握这些Linux监控命令可以早点下班!
查看>>