cache line 优化

来源:互联网 发布:如何测量三围知乎 编辑:程序博客网 时间:2024/05/10 15:55

多线程编程时,为了避免锁,有时会采用数据多份copy的方式,但是如果把这些数据放在了同一个cache line里面,性能得不到提高,是因为cache line的false sharing问题,可以看下这篇文章http://software.intel.com/en-us/articles/avoiding-and-identifying-false-sharing-among-threads/


在gcc下对齐的指令为 __attribute__(aligned(64)),可以修饰变量。如果变量用这个指令修饰的话,指针的++操作就不正确了。


更多关于多线程的资料

http://software.intel.com/en-us/articles/intel-guide-for-developing-multithreaded-applications



原创粉丝点击