作为一台电脑,慢的绝对优势是什么?

  就好像在问,一个打不着火的打火机,好处是什么?

  打火机的我不知道,但是电脑如果慢了,那个优势还真是有的。比如说,如果你玩过《盟军敢死队》,就是那个变态的游戏,让人养成随时存档好习惯的游戏,就知道电脑慢了点是有利于通关的。因为这个游戏做的时候大概没有用定时器来控制人物的速度,而是借助了CPU的速度,所以在奔三以上的CPU玩起来的时候,德军的巡逻队跑起来个个都有争当百米冠军的劲头,你的贝雷帽,往往才露头就被百米冠军们一枪干掉。

  但是这个优势,还是有限度,不是越慢越有优势,太慢了游戏都进不去了不是?所以只是慢相对优势,不是绝对优势。我今天发现的,可是一个绝对优势哦!

  是这样的,做一个小程序的优化工作,要找出来拖累CPU的地方,然后提高效率,让它跑快一点。这没的说,抓来程序,在关键地方打上计时器,最后看看时间花在哪里就可以了。再用上二分法,很快就定位出来问题所在,然后干掉。是在小电脑上做的。

  后来第二天,我却突然发现,计时器打出来的时间都是0!如果真的是0,那还就好了呢,也不用费劲去提高效率了,时间为0多好啊,以后大家开Windows就不用等了。当时我以为,嗯,那是因为我头天提高效率很有成效嘛,实际也确实有点成效,速度提高了接近十倍啦,于是就没有继续。

  一直到今天,我才想明白,事实不是如此。实际上是因为计时器只是对一个函数计时,这个函数可能会被调用很多次,然后把每次调用花费的时间累加起来,用了笔记本以后,因为CPU速度很高,所以一个函数的计时非常短,已经小于了计时器能够计算的最小时间,就变成0了,函数可能被调用很多次,也不过是很多个0加在一起,还是0;小电脑就不一样,小电脑够慢,一个函数花费的时间还在计时器的计算最小时间以上很多很多,所以一个函数花费的时间就不是0了,我记得应该是8左右,很多个加在一起,就是一个很可观的数字,当然很容易抓出来需要优化的地方了。

  想想,真是寒啊,我还真以为自己把程序优化的提高到计时器也计算不了的地步了呢。

[原文在百度空间已经关闭]