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

Posted Hollis Chuang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CPU可以跑多快?地球到火星的距离告诉你!相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

我们再来看一下:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

有道无术,术可成;有术无道,止于术

欢迎大家关注Java之道公众号

好文章,我在看❤️

以上是关于CPU可以跑多快?地球到火星的距离告诉你!的主要内容,如果未能解决你的问题,请参考以下文章

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

优胜队伍跑多快?优胜秘笈是什么?直播告诉你

火星-小型的地球

《雨中的3分58秒》

1044. 火星数字(20)

英语 我要宇宙所有的单词,例如地球、火星、外星、银河系