为什么感觉一台计算机能花几分钟运行几行代码,却能如此快速地运行复杂的东西,比如游戏?:首先,这个需要看代码的底层处理量,代码岗书并不能代表他做的事情数
首先,这个需要看代码的底层处理量,代码岗书并不能代表他做的事情数量,例如你用了这个循环每次打印数字加一,并输出出来,循环上限1000万次。代码估计不超过5号,但计算机打印完,至少几分钟了,原因是打印过程很慢,涉及到io。又或者你的代码基本在底层执行,你只是写了2行代码,但时间这两行代码需要做大量的计算才能完成,类似于Python ,其很多库对大量操作进行了封装,让使用者方便使用,但内部操作复杂。
而游戏运行是以帧来计算的,每一帧的处理量并不大,首先显卡专门负责图形渲染,cpu主要负责实时计算,每帧的计算量都在内存中运算,且计算量并没有太大,主要是显卡渲染的计算量大。
其次看使用的算法,好的算法可以大幅度降低运算时间,算法的好坏也是主要原因之一。
最后看使用的开发语言,越是高级的语言,运行速度越慢。
打个比方:
1. 平面内三角形的内角和等于180度
2. 任一大于2的整数都可写成三个质数之和
同样是一句话,前一句只要初中毕业,最多五分钟就能证明出来,后一句,从1742年至今也没人完全想明白。
您好很高兴回答您的问题。
您提出这样的问题,显然对计算机运算是不了解的,那么就让我一本正经的来解释一下,举个例子:
体育老师布置了一个任务,让小王和小张分别按不同策略跑一千米,小张和小王理论跑步的速度是一样的,但为什么小张要比小王先跑完?
小张的策略是,不停歇,以最高速度跑完。
小张的策略是,每跑两步休息一秒钟,每跑一百米喝一口水。
计算机执行任务速度与CPU频率、核心数量、内存、磁盘等诸多因素相关,但对于不同任务的执行时间,同一台计算机上主要取决于任务的差异性。在代码上来说,代码行数多少,并不能说明任务的复杂度,也不能单纯的将代码少的任务直接与执行时间挂钩。如一行sleep的代码就可以让这个任务休眠一万年。
以上,感谢您的阅读,我是@源代码科技
几分钟运行的代码,可能多到你无法想象,可不止你调用函数那一两句哦,下层的库,操作系统调用,驱动工作都是一起配合运行的。
现在,最先进的计算机,每小时也就运行1行代码。
游戏里面没有代码,都是图片。所以就快了。
好吧,上面是搞笑的。
其实计算机运行代码很快,但理论上和行数无关。
快到什么程度呢?
一眨眼的功夫,能运行...我们数也数不清哪么多行。
游戏里也是运行代码,所以,也会很快。
就这样。
那看你的代码运行啥了呗,写个死循环也不过两三行代码。
那不看看运行的是什么代码,我写个死循环一年都跑不完,写个sleep也能拖好久,如果写个%0|%0,跑到电脑蓝屏都跑不完……
可以大概学习一下汇编语言(比如常用的x86或者ARM),看看CPU是怎样运行程序的。
有空的时候可以想象一下,某个功能会被编译器翻译成什么样的汇编语言,很有意思。
现在有多种CPU指令集,但是本质上差不多。
因为你看到的几行代码并不是计算机真的就跑了那么几行而已,可能在你看不到的地方跑了更多,而且计算机运行每一行代码的速度并不是一样的
debug run和执行程序是两码事。
华裔女赌王就此没落,生前让所有 浓情端午粽飘香,青浦邀你“云体 上海:“云端”展现端午节文化内 “甜咸大战”!明星艺人们喜欢什 如何做一个男人喜欢的情人(如何 当你和你同时出现在同一个场景中 如何在昏暗的光线下设置快门速度 教育在生活中的价值是什么? 世上做坏事的人死后会面临什么因 拜登就任总统后的第一步是什么? 同意/不同意:人生最重要的目标 二战后,德国在调和分歧方面做得 亚伯·林肯恨白人吗? 一个编辑能把你的故事毁得有多严 现在的iPhone6还能坚持再用一年 曹操为什么不杀司马懿? 现在买房是不是最便宜的时候,现 我身边的农业银行营业厅关了,AT 欧洲媒体评选CBA最有实力球员, 荣耀play的6+128和荣耀8X的6+128 蚂蚁集团是科技公司还是金融公司 请问机友华为mate30P与华为mate3 听说老詹修剪一次指甲需要5小时 为什么说宝宝“一月睡二月哭三月 戴笠人称戴老板,这个是怎么叫出 没有工作能一次性补缴社保么? 我想知道定向师范生和免费师范生 肺癌引起的咳嗽是怎样的呢? 5000mAh电池的5G手机推荐吗?要 恒大亚冠表现“差强人意”,你觉