Groovyの性能のメモ

Groovyの性能関連の資料のメモ。

Groovyは、JavaScalaと比べると遅いと言われてしまうらしい。
僕は、小人さんスクリプトぐらいしか書かないので、性能というのはあまり気にしたことがない。


では、実際にどの程度遅いのか。

ググって拾ってみた。

n 100.000 1.000.000
Java 12 95
Scala 12 95
Groovy 3750 41700
Groovy++ 515 4900

Java 1.6.0 Update 17
Scala 2.7.7
Groovy 1.7
Groovy++ which is based on Groovy 1.8.0-SNAPSHOT.
Groovy++ vs. Groovy vs. Java vs. Scala - Performance Update


測定に使われてるのが、Groovy 1.7なので若干古い。


Groovy 1.7.10とGroovy 1.8.2との比較データが以下にあった。
1.8.2で改善はされてるが、20%の改善といったところだ。
なので、JavaScalaとくらべると2桁遅いことになるな。

Benchmark Java Groovy 1.7.10 Groovy 1.8.2 Groovy++ 1.7.10 Groovy++ 1.8.2
Binary Trees 14048 175144 134904 13536 14508
Fannkuch 21106 922029 847244 21791 20841
Quicksort 680 14529 20401 679 679
Spectral Norm 4686 158896 179102 4766 4981
Thread Ring 4550 30328 28574 4436 4872
Fib I 543 17469 15767 518 529
Fib II 516 17115 14951 525 520
Fib III 502 17947 15362 492 482
Fib IV 515 16368 14380 476 514
Fasta 5314 92418 97986 5073 5547
Nbody 806 42206 44859 830 853
LockPerf 3986 13945 14404 4201 4308

Performance vs Java and dynamic Groovy


Groovy 1.7.2 、JRuby 1.5.0、Ruby 1.8.7Python 2.5.2 で測定比較したものは以下にあった。
Groovy vs. Ruby vs. Python Performance


GParsを使ったベンチマークってどこかになかったっけ??




もし自分で性能測定をする場合は、@nagai_masato
GBench を使えばいいだろう。






性能だと、JavaScalaと比較するとGroovyってこんなにも違うんだな。
Scala、Groovyにしても、それぞれ、メリット・デメリットが違うから、
適した領域に使えばHappyになれるし、変なところに入れれば、Unhappyになってしまう。
当たり前の話だけど。




僕個人としては、Groovyのやさしさが好きだから、Scalaには手を出さないだろうな。
(手が出ないと言ったほうが正しいかも)



もっと新しいデータ、適したデータがあるよとのことであれば
コメント、トラックバックはてブTwitter @orange_clover宛 で、お願いします。











関谷 和愛、上原 潤二、須江 信洋、中野 靖治
価格: ¥ 3,360
価格は記載時点のものです。購入前にAmazonでご確認ください。




エピソード満載なGroovyポロシャツをもう一度制作しよう

モデル:@irof