2012-01-26 7 views
4

私は実装の簡潔さのためにScalaでパーサを書いています。 Javaアプリケーションから呼び出す必要があります。私は、クラスパスなどにスカラーライブラリを含める必要があることを知っています。 しかし、パフォーマンスはどうですか?それは純粋なJavaパーサー呼び出しを比較すると、どのような強力なパフォーマンス低下がありますか?java-performanceからscalaを呼び出しますか?

答えて

3

理論上、ScalaはJavaと同じJVMとバイトコードを使用しているため、私が見たすべてのパフォーマンステストは両方の言語にほぼ同じスピードを与えているため、影響はありません。

つまり、Javaライブラリを呼び出す場合と同じ(パフォーマンスが良い)か、そうでなければ違いが重要ではないはずです。

+0

Ha。私たちはまったく同じことを答えました。 OPがScalaを呼び出すかどうか、あるいは2つの言語の標準ライブラリの相対的なパフォーマンスについて質問しているかどうかはわかりません。 –

+0

uopsは私に警告しなかった! :D –

8

JavaからScalaを呼び出しても、オーバーヘッドは発生しません。実行時のバイトコードだけです。あたかもJavaからScalaの間で何らかの橋渡しをする必要があるかのようにではありません.JavaからPythonを呼び出す場合はそうです。

この特定のアルゴリズムのScala実装が速く実行されるか遅くなるかは、アルゴリズムの性質と実装方法によって異なります。 2つの言語で同じ方法で実装するつもりはないので、予測することは非常に難しいです。

関連する問題