编程语言速度对比

今日我们来看一篇文献[1],是关于不同编程语言的运行速度对比。该文章的目标受众是年轻的经济学家(研究生,初级教员)或研究人员,尤其是正在找一门编程语言协助完成相关计算工作的人。编程语言包括:C++11,Fortran 2008,Java,Julia,Python,Matlab,Mathematica,R,并分别在Mac和windows计算机上进行开展了测试;

作者在每种语言中使用了相同的算法,并通过网格搜索法(grid search)对函数值进行迭代,测量了计算所需要的时间。下面我们来看一下得到的结论(计算时间如图):

1. C++ 和 Fortran 仍然是最快速的编程语言,但运算速度与编译器的选取相关;

2. C++ 相比 Fortran 速度更快一些,约5%-7%,这源自C++编译器的迭代更新,“Fortran是最快速的编程语言”这样的印象不再是正确的了。接下俩将以C++作为其他语言的标定;

3. Julia 的表现也非常的出色,其运行速度仅仅约是表现最好的 C++ 编译速度的2.64和2.7倍。

4. Python 的速度要慢很多. 使用Pypy,其运行速度是C++的44倍。而是用默认的CPython,则代码要比C++慢155和269倍;

5. Matlab 运行速度是C++执行速度的9-11倍;

6. R 的速度是C++速度的 475-491倍。如果编译代码,代码的速度会慢243到282倍。(怎么这么慢?小编之前就是用R的)

7. Mathematica 的运算速度仅仅比C++慢3倍,但只有在对代码进行大量改写后才能达到这样的速度。这意味着要花一定的功夫在代码的语法和结构上。

虽然是针对经济学研究提出的测试方法,Julia运算速度快的优势可见一斑。该篇文章发表时,Julia为0.2.1版本。相信在大家共同努力下,Julia会越来越好。

参考文献

[1] S. Borağan Aruoba, & Jesús Fernández-Villaverde. (2015). A comparison of programming languages in macroeconomics. Journal of Economic Dynamics & Control, 58, 265-273.

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180815G1K51N00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券