Scala:在性能与开发效率中寻找平衡

Scala:在性能与开发效率中寻找平衡

正如《黑客与画家》作者所说,选择正确的语言对于项目不仅重要,甚至是举足轻重的。至少我曾经在学习除C++意外的新语言的时候,就犹豫过:

 

在Scala Days 2011,Google的工程师给出了具有参考力的报告。

-

<< Scala Days 2011(2011.06.02 -- 2011.06..3)

 

http://days2011.scala-lang.org/

Scala的同志们聚在一起开会了,有不少好的话题,我最感兴趣的就是Scala&LLVM和Scala V.S. C++/Go/Java了。

<< Loop Recognition in C++/Java/Go/Scala

有Google好事人民做的Scala/C++/Java/Go的比较,并在Scala Days发表论文,Piaoger之前就留意到这篇论文,正等着它的发表。 

下面仅仅摘抄了比较结果:

Code Size in [Lines of Code]:  Scala < C++/Go < Java

 

Scala需要代码行最少,可以达到是其他几种语言的一半甚至更多,有Value。

本以为C++代码难写,比起Java来,还是可以少些活儿。

Compilation Times in [Secs]: GO < Java/C++/Scala fsc << Scala Scalac

 

Go语言编译起来比较快,而Scala就差强人意了。

Binary and JAR File Sizes in [Byte]: Java < C++/Scala << Go

 

Go的文件也忒大了,比C++ Debug版本的文件都要大一倍去了,而Scala与C++不分伯仲。

Memory Footprint: C++ < Scala < Go/Java

 

C++程序启动时间确实要短些,有感觉的。

Run-time measurements: C++ > Scala > Go > Java

 

总的来说,C++在性能还是高出一筹的,而Scala有望在性能与开发效率上获得平衡;

Go语言还年轻,还有潜力;至于Java,确实不如Scala来得生猛。

原文与源代码: http://code.google.com/p/multi-language-bench

文中还提到了这几种语言的一些优化方法,可以一看。

----

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值