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