计算机硬件操作延时

马谦马谦马谦
马谦马谦马谦
马谦马谦马谦
611
文章
12
评论
2020年2月1日13:01:25 评论

来源:Latency Numbers Every Programmer Should Know

图片版:

计算机硬件操作延时

文字版:

中文整理版:

操作 耗时 备注
CPU一级缓存寻址 0.5纳秒
CPU二级缓存寻址 7纳秒
互斥锁 25纳秒
内存寻址 100纳秒
使用zippy压缩1k文件 3000纳秒(3微秒)
在1Gbps的网络中发送1k数据 10000纳秒(10微秒)
从ssd中随机读取4KB数据 150000纳秒(150微秒) SSD速率:1GB/s
从内存中顺序读取1MB 250000纳秒(250微秒)
同一数据中心往返耗时 500000纳秒(500微秒)
从ssd中随机读取1MB数据 1000000纳秒(1000微秒,1毫秒) SSD速率:1GB/s
磁盘寻址 10000000纳秒(10000微秒,10毫秒) 约等于20次数据中心往返
从磁盘中顺序读取1MB数据 20000000纳秒(20000微秒,20毫秒)

备注:1秒=10^3毫秒=10^6微秒=10^9纳秒。

历史上的今天
二月
1
马谦马谦马谦
  • 本文由 发表于 2020年2月1日13:01:25
  • 转载请务必保留本文链接:https://www.dyxmq.cn/program/latency-numbers-every-programmer-should-know.html
如何通过原始套接字修改IP数据包头 编程语言

如何通过原始套接字修改IP数据包头

背景:我们的设备上有个链路探测的功能,会定时请求公网的某个IP地址,以探测网络是不是连通的。具体的做法是会使用icmp或dns探测远端服务器,看请求能否正常响应,如果有响应,则认为链路正常,否则则认为...
给socket分配随机端口 C/C++

给socket分配随机端口

客户端的socket不需要手动执行bind绑定地址,但这不意味着客户端socket真的不需要绑定端口,实际上是内核它帮我们做了这个操作,在执行connect时,内核发现没有绑定端口,就会自动选择一个合...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: