隐藏性能杀手之 '伪共享'
随着CPU工艺的发展,目前的高端CPU已经存在几十核心百多个线程,并为CPU设计出了一二三级缓存。CPU的核心有了这些缓存就可以加快数据的处理,从而减少访问内存的频率,这样CPU的计算性能可以进一步得到提高。
CPU的缓存结构以及内存硬盘:
众所周知CPU去访问一次内存所需要的开销是非常之大的,想要获取一次磁盘上的数据更是需要等待较长的时间,虽然目前已经有很多解决方案如 mmap 技术来缓解这样的情况,但总体来说CPU的计算性能是整个计算机结构中的天花板,其他硬件从数据传输速度层面对比起来就显得拖后腿,那么我们来看一下具体CPU访问每个硬件的延迟:
存储器
存储介质
介质成本(美元)
随机访问延迟
L1 cache
SRAM
7
1ns
L2 cache
SRAM
7
4ns
Memory
DRAM
0.015
100ns
Disk
SSD(NAND)
0.0004
150us
Disk
HHD
0.00004
10ms
可以得出外部存储设备容量越大成本越小,存储数据更多,但访问速度更慢,访问速度越快的设备造价更高,