11

Groovy 2.0の最近のリリースには、オプションの静的型チェックなど、他のいくつかの追加の利点とともに、オプションの静的コンパイルが含まれていることがわかります。少し検索した後、Groovyのパフォーマンス(静的コンパイルを使用)をJavaおよびおそらくScalaと比較する広範なベンチマークを見つけることができませんでした。誰かがそのようなパフォーマンスの比較を知っていますか?Groovy ++が死ぬ前と同じだと思いますか?パフォーマンスが同等である場合、Groovyは、パフォーマンスが重要な大規模なアプリケーションの実行可能な代替手段になるでしょうか。

4

2 に答える 2

6

ここにはいくつかのベンチマークがあります(何が起こっているのかを確認するのは難しいですが)

ただし、ページの下部からGroovy 1.8.2Fibソースコードを取得し、それをgroovy 2.0で実行すると、次のようになります。

Groovy(static ternary): 1623ms
Groovy(static if): 1583ms
Groovy(instance ternary): 1744ms
Groovy(instance if): 1694ms

スクリプトの先頭に置く@groovy.transform.CompileStaticと、次のようになります。

Groovy(static ternary): 819ms
Groovy(static if): 799ms
Groovy(instance ternary): 816ms
Groovy(instance if): 811ms

明らかに、これは完全なベンチマークではなく(1つだけをテストしているだけです)、ウォームアップなどは含まれていません。Groovy2.0は1週間しかリリースされていませんが、この状況での速度の向上を示唆しています...

于 2012-07-05T13:09:56.980 に答える
5

私はjavaが約550msでそれらのテストを実行すると信じています

Javaとのパフォーマンス比較を行いました。「staticternary」および「staticif」の場合、@CompileStaticを使用したGroovyのパフォーマンスはJavaの場合と多少同じです。「instanceternary」と「instanceif」については、ほぼ2倍です。私のブログ投稿を参照してください。

于 2012-08-26T10:58:56.390 に答える