2011-02-08 29 views
4

私は自分のアプリケーションの埋め込み言語を検索しています。純粋なスカラで書かれたアプリケーション。私は実行時にいくつかの機能を追加したい。私は質問がある、埋め込まれているよりも速く埋め込まれたスカラですか?埋め込まれたscalaと埋め込みGroovy

答えて

1

「スクリプト言語として」言語を使用するために必要なJava API(Scripting language support、JSR 223)を実装するための努力がありましたが、うまくいかしているかどうかは分かりません。

Scalaは、JVMが高速に実行できるイディオムに密接にとどまるため、Groovyよりも全体的に高速です。

しかし、Groovyは、実際には、のうち、JVM用のスクリプト言語の1つです。また、Java/Scala/Groovyファイルを一緒にビルドするためのサポートが必要なので、問題が発生しないはずです。

4

私は別の言語を追加しませんが、scalaはスクリプト作成には最適です。私はスケーラが典型的にgroovyより速いと思う(shoutout.alioth.debian.orgに古いベンチマークがあるが、何とかgroovyが現在のベンチマークから脱落しているようだ)。しかし、レスポンスは最適ではない、つまりあなたが知っているように、スカラREPLに使用される「インタープリタ」を実行することは、オンザフライでコンパイルするコンパイラです。これには実際のコンパイルには少しの遅延がありますが、実行速度は通常のコンパイルされたスカラと同じです。現代のコンピュータでは、この待ち時間に気付かないでしょう。

スカラREPLの上に構築されたいくつかの小さなツールがあります。 1つの言語にとどまることのもう1つの利点は、すべてのスカラ固有のもの(合成メソッド、コンパニオンオブジェクトなど)が透過的に見えるため、インタープリタにシンボルをバインドするほうが容易になるということです。

編集:http://stronglytypedblog.blogspot.com/2009/07/java-vs-scala-vs-groovy-performance.html

:オリジナルのポストは2009年からですが、まだ差の大きさを示すコメントが全体の最近のScala 2.8とGroovy 1.7スプレッドからのベンチマークは、あります
関連する問題