话题数据结构与算法 › Ring Buffer

数据结构与算法:Ring Buffer

剖析Disruptor:为什么会这么快?(二)神奇的缓存行填充

这篇文章主要讨论了计算机底层硬件运作和编程方式。作者介绍了缓存行的概念,指出数据在缓存中以缓存行为单位存储,一个缓存行通常是64字节,并可以存储多个变量。作者提到,在访问一个数组时,加载一个值到缓存中会额外加载与之相邻的值,因此可以快速遍历数组或连续内存块中的数据结构。这个概念在之前关于环形缓冲区的文章中也提到过。这篇文章对于学过这些知识的人来说是一次复习,对于未学过的人来说是一个简单的介绍。

从Disruptor说起,聊聊锁的缺点以及优化方案

1、不使用锁,使用CAS。锁涉及到操作系统,而CAS是CPU级别,更快。

2、RingBuffer只需要一个序列号来保存下一个可用的空间,减小竞争。

3、Cache Line Padding。

  • «
  • 1
  • »

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-05 21:48
浙ICP备14020137号-1 $Map of visitor$