CPU可以跑多快?地球到火星的距离告诉你!

本文通过将计算机系统的延迟换算成人类可感知的时间和距离,形象地展示了CPU、内存、硬盘等硬件之间的速度差异。例如,L1缓存访问延迟相当于1秒,而从磁盘读取1MB数据则需要行走40000公里,相当于绕地球一圈。这样的对比帮助读者直观感受计算机内部的操作速度差距。
摘要由CSDN通过智能技术生成

👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇

作者丨码农的荒岛求生

来源丨码农的荒岛求生(ID:escape-it)

我们在之前的文章中介绍了一张出自Google大神 Jeff Dean的图,这张图展示系统中各种关键操作的时延具体有多少。

e79a3711a60b64fc8c51f6d4a1207c2c.png

需要注意的是这张图上的数据自2012年后就没有再更新过了,统计自2020年的最新数据见这里:

23806a835a723363bb6a237611c5cffa.png

这张图中一个小的黑方块代表1纳秒,一个蓝色的方块代表100纳秒,一个绿色的方块代表10微秒,一个红色的方块代表1毫秒。

尽管这种表示方法已经比第一张图形象很多了,但在我们(人类)看来对这些纳秒没太多概念,毕竟人类的反应时间仅仅0.2 -0.3秒,比这更短的时间人类是没有太多感觉的。

为了让大家能更加直观的感受速度差异,我们依然以第一张表为例,并且把计算机世界中的0.5纳秒当做1秒来换算一下,这样你就能清楚的感受到这些计算机世界中各个硬件巨大的速度差异了。

我们再来看一下:

f23255e6bae11ab807aa4af9417e3f91.png

现在就很有意思了,假定L1 cache的访问延迟为1s,那么访问内存的延迟就高达3分钟。

从内存上读取1MB数据需要5天,从SSD上读取1MB需要20天,磁盘上读取1MB数据高达1年的时间。

更有趣的来了,假设物理机重启的时间为2分钟,如果也将0.5ns视为1s的话那么2分钟就相当于5600年,中华文明上下五千年,大概就是这样一个尺度

现在你应该能直观的感受到CPU的速度到底有多快了吧。

以上都是基于时间维度换算的。

接下来我们基于距离维度进行了一次更有意思的换算。

77ad22c237a423e17d2c89a0a6313bb1.png

CPU访问L1 cache 的时延为0.5ns,假定在这个时间尺度下我们能行走1米,大概是你从在家里走两步拿个快递的距离。

CPU访问内存的时延里我们可以行走200米,大概是你出门去个便利店的距离。

CPU从内存中读取1MB的时延我们可以行走500公里,这个距离大概是从北京到青岛的直线距离。

d177cda86b406849a07569d4a5f59396.png

网络包在数据中心内部走一圈的时延可以让我们行走1000公里,大概是从北京到上海的直线距离。

715ebbd5109d22bbeb16166743b32b5f.png

从SSD中读取1MB的时延可以让我们行走2000公里,大概是从北京到深圳的距离。

2b72a2e47b9fb4e1b0d0e3eaa88ea34c.png

从磁盘中读取1MB的时延可以让我们行走40000公里,正好是围绕地球转一圈的距离。

而网络数据包从美国加利福尼亚到荷兰转一圈的时延可以让我们行走30万公里,正好是从地球到月球的距离。

62680a5667374cbc8eec663f91198675.png

物理机一次重启的时延可以让我们行走1.2亿公里,差不多是从地球到火星的距离。

e031f02e79a82d1b5283ad31a46948ff.png

现在你应该对计算机系统中各种时延有一个直观上的认知了吧。

-End-

最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!

71c6e7e83ac564b8dbf0aada4a241503.png

点击👆卡片,关注后回复【面试题】即可获取

在看点这里03e8e157bf6e82fa7362f18ef588d61a.gif好文分享给更多人↓↓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值