秃子说并发程序的性能瓶颈常常在于锁的滥用。我对此虽深信不疑,却一直没有量化的感性认识。刚才写了个浮点运算小程序一跑,结果显示对一次浮点加法来说,有锁无锁性能相差8到10倍。注意,测试程序是单线程的,也就是说这还只是没有实际竞争时的差别。
测试代码如下:
在我的机器上输出如下:
g++默认:
Time consumed: 4230 (ms).
Time consumed: 520 (ms).
g++ -0:
Time consumed: 3360 (ms).
Time consumed: 340 (ms).
机器环境:
Linux 2.6.32-24-server #39-Ubuntu SMP x86_64 GNU/Linux
Intel(R) Core(TM)2 Quad CPU Q9400 @ 2.66GHz
gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3


1058

被折叠的 条评论
为什么被折叠?



