执行效率做比较,Go、python、java、c#、delphi、易语言等
比较环境,在win7 64位,比较各种语言的整数型运算,下面的比较只作为单项比较。
具体方式,40000*40000遍历相加。为了防止编译器优化,生成一个随机数。
1:c#,在NET2.0框架下作为比较,不清楚这些年微软把NET3.5 、4.0、4.5、甚至5.0优化到了什么地步了,这些年微软在慢慢走下坡路,因为没有赶上移动时代而被谷歌和苹果超过,微软本是一个喜新厌旧的公司,过几年会扔掉一些过去开发的东西,比如最近几年花大把资金开发的WPF、Silverlight、WCF等等,要么死亡,要么扔了,跟着微软走,得小心自己的未来,随着微软新的CEO上台,积极拥抱开源和跨平台, .net core 也能跨平台了,只是目前BUG很多。
花费时间4.287秒!速度还行。
2:python,作为脚本语言,和编译型语言做比较不合理,但是比较速度也是逃不过的坎,执行效率慢得很,但是很多语言把它作为胶水语言,上层用python做逻辑处理,而底层用C++做运算,我见到有深度学习、游戏服务器、科学计算等等全是采用这种方式。
在国外python是一门非常火爆的语言,国内最近几年也开始慢慢关注python了。深度学习,这个热门的领域,90%的学习库必须用到它,你或许用过IDA反编译调试,它里面的脚本语言就是python。你用LINUX工作?那就必须关注它了,Linux内置安装了python。你做科学运算?那更少不了它了,它是可以和matlab做比较的啊。
执行速度确实慢了点:258秒!
3:易语言。随着最近几年电脑硬件能力的提升、64位的普及、学校毕业编程人员的逐渐增加、移动端的迅速发展等等,易语言的发展慢慢走向了衰退,同时吴涛也没有把精力放在优化易语言上,导致了这样的结果。
花费时间20.9秒,属于比较靠后的了。以下结果在易语言4.3上测试。
4:delphi,一门曾经能和c++媲美执行速度的语言,一门曾经比易语言开发还迅速的语言,一门曾经号称"聪明的程序员用delphi"的语言,但是现在已经终结了,随着PC平台的落寞、windows 32位操作系统的结束、移动大潮的开启。这门语言的开发商几经转手,它已经逐渐消失在大众的眼里,估计还过几年,没几个人会delphi了。delphi走过的这段心酸历程也许是易语言未来的写照。
执行速度,3.56秒,还看得过去,因为是D7做比较,在WIN64下,比较环境对于它来说不太公平。
5:JAVA,现在的王者,现在大型互联网公司百分百都要用到它,在WEB、移动、物联网、服务器、人工智能、深度学习、科学计算、云计算、大数据等等各大领域都有涉及,不仅仅在于它的跨平台性,更是它的执行效率现在优化到了极致。
执行速度,2.67秒,要知道,它不是编译型的语言,是在虚拟机上解析运行的。
6:GO语言,一门新型语言,这门语言把并发做到了极致,可以很方便的写出各种游戏服务器、网站服务器、云计算等等,它是利用现在操作系统的多核性而进行并发运算,导致它刚出来就备受程序员关注,新手只要学习半个月,也能写出强大的网络并发程序。随着Go1.7、1.8版本的释放,GC约束在了100微秒之内。
执行速度0.75秒。
7:PHP,这也是一门脚本语言,和其他语言比较确实不太合理,但是比较各门语言的执行速度也是可以的啊,比如和ruby、python、lua、JS等做比较。随着去年的PHP7.0的发布,现在PHP执行速度得到了大幅度提升。据目前PHP的核心开发者鸟哥(PHP目前共有三位核心开发者,鸟哥曾经就职于百度、新浪等)介绍,PHP7.0的执行效率比5.X 快2-10倍。
执行速度70秒,比python快远了。目前只测试了5.4版,没有在7.0版本下测试。