标题是一个未必正确的断言,甚至我认为必然是错误的。但是上周我写了一个包括大规模搜索的调度算法实现,在Intel Core 2 Duo的机器上做这个运算,代码使用Microsoft Visual Studio 2008生成,算得实在太慢(我关掉了所有的应用程序,操作系统是Windows XP专业版SP2,内存为2GB,并把这个进程的优先级调整到了“实时”)。估计这样搞起码要5到10天才能跑出全部的结果。
抱着试试看的心情,把源码往iBook G4上复制了一份试着用Xcode 3(后端编译器为gcc4)编译了一下,居然短短几秒钟就回显了第一个结果。对比PC上同样一次搜索要做到3分钟甚至更长,这样的结果真是令人喜出望外。赶紧写了几个循环,然后让它开始服役,算了两天一夜,结果就很完美地得到了。
一直想不通“咋差距就这么大呢”?按理说不应该啊,我这台iBook的PowerPC G4芯片可是至少五年前设计的啊,买来也已经三年多了。并且当时预算紧张,买的是最低配置。是芯片设计得好,还是操作系统设计得好?可能两个方面的原因都有,或者是共同作用的结果。无论如何,我坚持认为作为计算环境支撑的操作系统想适应特定的硬件,肯定是需要时间的。当年投入了巨大资本在PowerPC上做过的研究,不会白费。而这些资本产生的回报,被今天我的一个小小应用享受到了。
另:很高兴地发现C++同样具有很好的可移植性。
发表回复