编程语言的评测 性能和灵活性的最佳平衡
创始人
2024-03-31 13:02:19
0

在计算机评测基准中,评测者为了尽量让评测准确,非常谨慎的选择了13个基准程序,这13个基准程序并不针对某以特定语言有特殊的优化。对于评测选择33中语言都实现了13个基准程序。当然,除了速度这个指标外,程序基准评测同时也为每一个基准测试程序发布一个编码大小指标。非常感谢基准评测让我们看到程序设计中非常重要的一个方面:程序语言的性能和程序语言灵活性之间的矛盾。正是这个矛盾给所谓“高级编程语言”带上一个含蓄的轻蔑的意思。即,当你在使用这些高级语言编码时,你也许可以编写出漂亮的代码,但是你是如此的远离了硬件,你不可能获得更好的性能,是这样的吗?

基准测试XY图表

如果我们将基准测试程序的结果放在一张XY的图表上,那么我们就可以为这张表的4个角命名。快速而复杂的语言应积聚在图表的左上角。我们把这类语言称为系统语言。简洁但慢速的语言应该聚集在右下角,我们称之为脚本语言。在右上角,应该是过时的语言。除非这些语言具有非常吸引人的特性,否则语言已经被新出现的语言所淘汰。***在左下角,基本上找不到对应的语言,因为在这一区域的语言是理想状态的语言。在这个区域的语言是又快又短又利于使用的语言。

图中每一个小点就代表一种语言的一个基准程序实现,因此这图里面共有429个点,每个点的XY轴分别代表了其和***的语言实现差距的倍数(从语言的复杂性和语言执行性能来说),其中一些点比较分散,我们就没有在图中画出。从上面这个图我们可以看到这些粉红色点沿着Y轴(复杂性)比X轴(执行性能)分布更统一,这是不是意味着,人类在提升语言表达的灵活性上还在稳步的不断进步,而在提升语言性能方面却遇到了很多的麻烦呢:)

针对每一个种语言,比如说scala语言,我们用下面的图来描述:图的中心点,是这个语言测试结果的平均值,然后做每一个评测结果的具体值到这个均值的连线就够成了一个星型图。这个图说明了scala一些特性,在X轴性能上来说,大部分点都分布在靠近左边,说明scala的性能是不错的,如果优化JVM的话,scala可以大部分提高性能,但是scala性能分布并不一致,其中的一个点甚至到了最右边。就语言复杂性(Y轴)来说,scala的表现也不错,不过有时候为了获得高性能,也会导致语言复杂提高,比如scala的其中一个点就在最顶端。(有关Scala语言的更多介绍,可参考Java以外的选择 Scala编程语言简介

Scala的测试结果

通过为每一种语言形成如上的一个图,我们***可以为这33种语言评的测结果形成了如下的一个图,这是一个6*6的图。其中每一个小图具有同样的轴和同样的精度。这张图的目的是为了方便的比较每一个语言的星型。这些图按语言的平均性能来组织列,最左边的语言的性能***,最右边的语言性能最差,在每一列中的语言又按照平均的语言代码量(复杂程度)进行排列,代码量最小的语言在***端,代码量***的在最顶端。

全部语言测试结果

点击看大图

在图的最左边的性能是***的,又高又瘦的星型,我们可以看到,除了GCC和G++外,其他的性能都显示了惊人的一致性(每一个基准测试程序的性能都非常接近)。而JAVA也非常骄傲的出现在一组中,这说明经过了10年的优化后,Java运行时的性能已经得到长足的提高(要用Java做大系统的人是否还会犹豫呢:))。

在图的右边,我们看到了一些又胖又矮的星型,这些是一些脚本语言,从图中可以看出,这些脚本语言社区的人们当他们在不断改善他们语言的表达性的同时并没有花大力气在性能的改善上。然而也有例外,Lua这门脚本语言就有很好的执行性能。

【编辑推荐】

  1. 5月编程语言排行榜:C++替代者风采不再
  2. 详谈学习编程语言的策略
  3. 程序员如何选择合适的编程语言
  4. Java之外,选择Scala还是Groovy?
  5. Java以外的选择 Scala编程语言简介

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...