第53章 内存、CPU与思维

    一个程序运行起来涉及到的因素有很多,而在现实里,一个程序处理数据时,其大部分瓶颈在于cpu与程序算法。

    其中cpu,或者说处理器,性能相关因素又可以细分很多,但为人常知的因素就是其中主频、几核几线程、功耗、睿频这些。

    其中功耗、睿频暂且不说,只说其中的主频、几核、几线程。

    如果拿修行同样来比来说的话,其中主频就是一个人的思维运转、计算、思考等等的总和,有人会用算力来形容,即一个人的大脑计算处理能力。

    几核,可以形容一个人有几个分身,是那种相互隔离,不会影响主意识算力的那种分身。

    几线程,即一个人的意识份数。在这里需要说明两个词---并发与并行与一个算是常识。

    在以前没有什么排队意识的时候,火车站窗口售票,当多个人去争抢一个窗口购票时,这种属于并发。

    多个窗口同时给对应人数进行售票,这种叫做并行。

    不过,不论是现实,还是在程序运行的时候,现在都是属于并发与并行一起出现。

    另一个常识是,普通人,或者说一般来说,人并不能真正做到一心二用,也就是人只有一个意识,并不是真的有两个意识去并行处理两件事。

    而是一个人的意识在两件事情之间快速切换,属于并发的一种特殊情形。

    所以,一心多用并不是一件特别好的事情,或者习惯,会降低一个人的专注力。

    当然,如果这多件事被一个核心统筹的话,让意识凌驾于多件事之上就另说。

    真要说的话,现在的一个程序里,无用的代码不少,且有些代码相对来说,执行起来并不算是最优,也有可能是最差的,编译后执行时,可能一条命令重复执行多次。

    不知道有多少人没有玩过红白机,红白机中,一个小游戏占据的内存大多都只有几十k,这是现在玩游戏的人难以想象的,因为一张照片都有好几m了。

    哪怕是那种一盒一的rpg游戏,大多都不到1m,比如说《封神榜之伏魔三太子》,只有900多k,这是一个可以玩好久的游戏。

    这也是现在的人难以想象的,因为一个游戏框架搭建起来,里面什么内容都没有,其大小可能就不止1m了,如果引用的工具类多一些,可能会比想象中还要多一些。

    就现在的程序开发而言,绝大多数的程序开发都是使用高级语言,而高级语言也就是符合人类思维认知的语言,适合与方便人类学习与理解。

    在高级语言之前,有汇编语言,再就是机器语言。

    机器语言不用解释,就是给硬件识别的语言,翻译成人类所认识的语言,就是0和1。

    由于0和1很难被人类读懂,还有一些其他的原因,最终汇编语言就出现了。

    汇编语言:是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。

    相比于机器语言,汇编语言可以让人类更加容易理解。

    而汇编语言只能说算是一个个的原子,对于普通人来说,操作原子造物太过费时费力,所以,有了高级语言。

    特别是为了方便、易学、快捷快发,高级语言做了太多的事,导致一个程序里,太多冗余代码,浪费了太多的空间与计算机的算力。