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

本文通过将计算机系统的时延换算成人类可感知的时间和距离,生动展示了CPU、内存、硬盘等硬件之间的速度差异。例如,L1缓存访问相当于1秒,而从磁盘读取1MB数据则需一年。这种对比揭示了计算机世界的惊人速度。

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

 

Image

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

Image

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

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

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

我们再来看一下:

Image

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

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

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

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

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

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

Image

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

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

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

Image

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

Image

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

Image

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

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

Image

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

Image

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值