好友
阅读权限10
听众
最后登录1970-1-1
|
首先声明:本次测试并无权威性和代表性,因为每个语言都有自己的优化特点,而我的测试内容比较单一,只有循环和取模判断,局限性在所难免
测试方法:寻找指定大小数内的所有质数。
代码实现:三层循环,逐个尝试是否可以被除了1和自己的其他数整除。
所有的程序都采用相同的算法和程序结构,算法并没有做相应优化或者采用数学原理进行质数判断,只是单纯的穷举,因为目的只是比较各种语言程序的执行效率,请各位不要喷算法结构
参赛语言:
1、C/C++语言(编译执行)
(1).GCC编译器
(2).VC编译器
(3).BCB编译器
2、C#(动态编译执行)
3、VB(这个我也说不好,半解释半编译?)
4、delphi(编译)
5、易语言(编译)
第一次比较:寻找100000以内的所有质数。
比较排名结果:
1、C#用时2839毫秒
2、VC用时2886毫秒
3、GCC用时2886毫秒
4、delphi用时2901毫秒
5、BCB用时3011毫秒
6、VB用时5772毫秒
7、易语言30467毫秒
结果有点出乎我的预料,本以为成绩垫底的应该是VB和C#这种非完全编译的语言,但是C#完全不逊色于C/C++,而饱受争议的中文编程易语言虽然是编译执行,但是表现实在不怎么样
第二次比较:增加一个数量级,这次搜寻100万
比较结果:
1、GCC用时230735毫秒
2、C#用时230797毫秒
3、VC用时231969毫秒
4、delphi用时232297毫秒
5、BCB用时234111h毫秒
6、VB用时466094毫秒
7、易语言,等了30分钟没有结果于是强行结束掉了
从这两次比较可以看出:
1、C\C++类的语言的确拥有先天优势,而用不同编译器的执行结果稍有差异,初步判定GCC=VC>BCB。
2、C#在动态编译完成的情况下,毫不逊色于C\C++
3、delphi和BCB出自同一家公司,执行效率在伯仲之间,delphi稍快
4、VB的效率大概是以上语言的二分之一
5、易语言虽然在本次比较中垫底,但是硬件过剩的今天,执行效率已经不是首要考虑的因素,再加上有很多前人封装好的模块,开发效率的确是有目共睹的,其实易语言足以满足日常软件开发的需求
最后声明:本次比较并无权威性,结果仅供参考,每个人都有自己喜欢的语言,执行效率已经是开发中的次要因素,请不要轻易放弃自己的选择,也希望大家不要对我这次的比较作种种批判
另外附上所有程序的源代码和目标程序,下载地址:http://pan.baidu.com/s/1ntG2HML
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|