人文艺术 > 为什么感觉一台计算机能花几分钟运行几行代码,却能如此快速地运

为什么感觉一台计算机能花几分钟运行几行代码,却能如此快速地运

2020-07-24 18:56阅读(72)

为什么感觉一台计算机能花几分钟运行几行代码,却能如此快速地运行复杂的东西,比如游戏?:首先,这个需要看代码的底层处理量,代码岗书并不能代表他做的事情数

1

首先,这个需要看代码的底层处理量,代码岗书并不能代表他做的事情数量,例如你用了这个循环每次打印数字加一,并输出出来,循环上限1000万次。代码估计不超过5号,但计算机打印完,至少几分钟了,原因是打印过程很慢,涉及到io。又或者你的代码基本在底层执行,你只是写了2行代码,但时间这两行代码需要做大量的计算才能完成,类似于Python ,其很多库对大量操作进行了封装,让使用者方便使用,但内部操作复杂。

而游戏运行是以帧来计算的,每一帧的处理量并不大,首先显卡专门负责图形渲染,cpu主要负责实时计算,每帧的计算量都在内存中运算,且计算量并没有太大,主要是显卡渲染的计算量大。

其次看使用的算法,好的算法可以大幅度降低运算时间,算法的好坏也是主要原因之一。

最后看使用的开发语言,越是高级的语言,运行速度越慢。

2

打个比方:

1. 平面内三角形的内角和等于180度

2. 任一大于2的整数都可写成三个质数之和

同样是一句话,前一句只要初中毕业,最多五分钟就能证明出来,后一句,从1742年至今也没人完全想明白。

3

您好很高兴回答您的问题。

您提出这样的问题,显然对计算机运算是不了解的,那么就让我一本正经的来解释一下,举个例子:

体育老师布置了一个任务,让小王和小张分别按不同策略跑一千米,小张和小王理论跑步的速度是一样的,但为什么小张要比小王先跑完?

小张的策略是,不停歇,以最高速度跑完。

小张的策略是,每跑两步休息一秒钟,每跑一百米喝一口水。

计算机执行任务速度与CPU频率、核心数量、内存、磁盘等诸多因素相关,但对于不同任务的执行时间,同一台计算机上主要取决于任务的差异性。在代码上来说,代码行数多少,并不能说明任务的复杂度,也不能单纯的将代码少的任务直接与执行时间挂钩。如一行sleep的代码就可以让这个任务休眠一万年。

以上,感谢您的阅读,我是@源代码科技

4

几分钟运行的代码,可能多到你无法想象,可不止你调用函数那一两句哦,下层的库,操作系统调用,驱动工作都是一起配合运行的。

5

现在,最先进的计算机,每小时也就运行1行代码。

游戏里面没有代码,都是图片。所以就快了。

好吧,上面是搞笑的。

其实计算机运行代码很快,但理论上和行数无关。

快到什么程度呢?

一眨眼的功夫,能运行...我们数也数不清哪么多行。

游戏里也是运行代码,所以,也会很快。

就这样。

6

那看你的代码运行啥了呗,写个死循环也不过两三行代码。

7

那不看看运行的是什么代码,我写个死循环一年都跑不完,写个sleep也能拖好久,如果写个%0|%0,跑到电脑蓝屏都跑不完……

8

可以大概学习一下汇编语言(比如常用的x86或者ARM),看看CPU是怎样运行程序的。

有空的时候可以想象一下,某个功能会被编译器翻译成什么样的汇编语言,很有意思。

现在有多种CPU指令集,但是本质上差不多。

9

因为你看到的几行代码并不是计算机真的就跑了那么几行而已,可能在你看不到的地方跑了更多,而且计算机运行每一行代码的速度并不是一样的

10

debug run和执行程序是两码事。