关于 x86_64 架构下 atomic、mutex、rwlock 的性能对比

这里以多线程操作long类型变量,进行加法运算1亿次的时间作为性能对比的标准。

测试使用SLES 11SP2操作系统,3.0.80内核,CPU使用Xeon 55062 socket, 4 cores, 1thread

由于针对64位类型的atomic glibc没有提供相应的库,将内核实现代码移植到应用层

atomic64.h

测试代码performance.c

运行结果这里就不详细列出来了,可以直接看这个曲线图。

横坐标是线程数,纵坐标是运算1亿次耗费的微秒数。

从这个图中可以看出,对于频繁写操作的情况atomic > mutex > rwlock

对于同一种同步类型,并不是随着线程数的增加而一直增加,不过因为只有8个核心,所以没有测试更多线程的情况。

1 3 收藏 评论

相关文章

可能感兴趣的话题



直接登录
跳到底部
返回顶部