一 缓存行
cache行:读取缓存以 cache line 为基本单位,目前一般是64个字节,也就是一次读64个字节。
位于同一缓存行的两个不同数据,被两个不同CPU锁定,产生互相影响的伪共享问题。
使用缓存行对齐能够提高效率,但会损失空间。
二 使用缓存行开源软件
disruptor
cursor 不管是和前面字节对齐还是和后面字节对齐,都能保证它在一个缓存行里面,不会和其他的 cursor 发送冲突,可以提高效率,但损失了空间。
三 实战
1 两个数据不在一个缓存行
2 测试
195
3 两个数据在一个缓存行
4 测试
78
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!