performance - 访问各种缓存和主存的大概成本?

标签 performance memory latency cpu-cache low-latency

谁能给我访问 L1、L2 和 L3 缓存以及 Intel i7 处理器上的主内存的大致时间(以纳秒为单位)?

虽然这不是一个专门的编程问题,但了解这些速度细节对于一些低延迟编程挑战是必要的。

最佳答案

每个人都应该知道的数字

           0.5 ns - CPU L1 dCACHE reference
           1   ns - speed-of-light (a photon) travel a 1 ft (30.5cm) distance
           5   ns - CPU L1 iCACHE Branch mispredict
           7   ns - CPU L2  CACHE reference
          71   ns - CPU cross-QPI/NUMA best  case on XEON E5-46*
         100   ns - MUTEX lock/unlock
         100   ns - own DDR MEMORY reference
         135   ns - CPU cross-QPI/NUMA best  case on XEON E7-*
         202   ns - CPU cross-QPI/NUMA worst case on XEON E7-*
         325   ns - CPU cross-QPI/NUMA worst case on XEON E5-46*
      10,000   ns - Compress 1K bytes with Zippy PROCESS
      20,000   ns - Send 2K bytes over 1 Gbps NETWORK
     250,000   ns - Read 1 MB sequentially from MEMORY
     500,000   ns - Round trip within a same DataCenter
  10,000,000   ns - DISK seek
  10,000,000   ns - Read 1 MB sequentially from NETWORK
  30,000,000   ns - Read 1 MB sequentially from DISK
 150,000,000   ns - Send a NETWORK packet CA -> Netherlands
|   |   |   |
|   |   | ns|
|   | us|
| ms|

来自: 最初由彼得诺维格:
- http://norvig.com/21-days.html#answers
- http://surana.wordpress.com/2009/01/01/numbers-everyone-should-know/ ,
- http://sites.google.com/site/io/building-scalable-web-applications-with-google-app-engine

a visual comparison

关于performance - 访问各种缓存和主存的大概成本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4087280/

相关文章:

linux - 在c++ 11 std::thread中执行的时间开销是否取决于所执行的有效负载?

c - 何时在 C 中使用位域

sockets - 但是,UDP套接字接收器缓冲区的大小是否会影响延迟?

php - PHP 与 JavaScript 的速度?

r - 向量中的嵌套滚动总和

reactjs - 功能组件比类组件有更好的性能?

c - 段错误和堆栈溢出有什么区别?

swift - 同时填充数组

c - 在实时嵌入式 Linux 中记录数据时出现延迟峰值

php - 页面加载速度非常慢 - ASP/PHP CSS 文件延迟