scala - 在数字运算和繁重的字符串处理方面,Scala 是否比 Java 7 更快?

标签 scala java-7

假设有两类应用程序:

(1) 密集的数字运算和数值与数学计算

(2) 密集的字符串正则表达式匹配、xpath 搜索和其他字符串操作,其中字符串主要存储在集合类中。

在这两种情况下,都假设客户端每秒甚至并行访问这些应用程序数千次。

因此,如果我可以选择在服务器后端中实现应用程序,我可以选择 Java 7 或 Scala。我应该选择哪一个以获得更快的性能并生成更可靠的代码?

最佳答案

Google 最近做了一些您可能会感兴趣的基准测试 - 请参阅此处链接的论文:http://www.readwriteweb.com/hack/2011/06/cpp-go-java-scala-performance-benchmark.php

这篇论文出人意料地不科学,但您会大致了解可以做什么。特别感兴趣的可能是第 V.F 节

Daniel Mahler improved the Scala version by creating a more functional version, which is kept in the Scala Pro directories. This version is only 270 lines of code, about 25% of the C++ version, and not only is it shorter, run-time also improved by about 3x. It should be noted that this version performs algorithmic improvements as well, and is therefore not directly comparable to the other Pro versions.

我不清楚这个具有算法改进的版本是否包含在他们的速度基准表中(我不这么认为),但它确实表明您可以通过采用更多的算法改进来产生性能改进可以在 Scala 中实现。但是,它对简单的字符串处理作用不大。

一个重要因素是您对这些语言的编程能力以及优化它们的能力。 Java 显然更冗长,但您不太可能遇到性能“陷阱”。

关于scala - 在数字运算和繁重的字符串处理方面,Scala 是否比 Java 7 更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6425156/

相关文章:

java - 如何将嵌套的 Scala 集合转换为嵌套的 Java 集合

java - 如何向相邻jvm中的akka​​系统发送消息?

Java/OS X 狮子 : Setting application name stopped working with JDK1. 7

linux - 安装Sun JDK 7时事务检查错误

Java 7 : COM-API does not work with Quality Center (OTAClient. dll),但适用于 Java 6

macos - 适用于 Mac/Windows 的 Java 7 安装程序

java - 如果源路径包含真实文件夹以外的任何内容,则 Path.relativize() 的实际使用情况

scala - 混合 Akka 2、Play2-mini 框架和 HTTP

scala - 如何将-D参数或环境变量传递给Spark作业?

scala - scala中“Convert” Option [x]到x