在网上看多了关于
C++ Builder
和
Visual C++
编写的程序运行行速度的争论,觉得挺无聊的,我觉得选择自己喜欢喜欢的编程工具就行了,至于编译后程序的执行速度其实差别不是很大,有的完全可以忽略不计。不过,既然有人喜欢探讨这方面的问题,想必也有他们的道理,比如有的人电脑配置比较差点,自然希望程序执行速度快,而且尽量少占用存储空间。而这有时是矛盾的,
C++
编译程序会根据你的设定来编译程序,要么以空间换取时间,要么以时间换取空间,不过这也不是绝对的,一切完全取决于编译器。
我在无聊时也自己做了个
32
位控制台程序的测试,当然不一定很准确,仅供参考。
同样功能,同样代码,基本相同的编译设置,经过不同平台的便宜后,程序运行情况大概是这样的
:
(依执行速度快慢来排列)
Borland C++ 5.02
(最快,而且占用硬盘空间最小)
Borland C++ Builder 6.0
(很快,但占用硬盘空间比
C++ Builder 2006
编译出来的大点)
Borland C++ Builder 2006
(很快,而且占用硬盘空间比
C++ Builder 6
编译出来的小)
Microsoft Visual C++ 6.0 (
还不错
)
Microsoft Visual C++ 2003 (
慢,编译出来的程序占用空间不大
)
Microsoft Visual C++ 2005 (
最慢,而且占用硬盘空间最大
)
以上结论,只是在
32
位控制台程序下的单个程序的测试结果。
测试结果很有点意思,同一家公司的产品,版本越高的测试出来的速度却越慢?这是为什么呢?如果看得懂编译时产生的汇编语言代码,也许会有答案的。
不可否认,Borland C++ 5.02 也许在市场上并不是一个成功的产品,但其对编译器的优化确实做得很到家。