Groovyの性能のメモ
Groovyの性能関連の資料のメモ。
Groovyは、JavaやScalaと比べると遅いと言われてしまうらしい。
僕は、小人さんスクリプトぐらいしか書かないので、性能というのはあまり気にしたことがない。
では、実際にどの程度遅いのか。
ググって拾ってみた。
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%の改善といったところだ。
なので、Java、Scalaとくらべると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.7、Python 2.5.2 で測定比較したものは以下にあった。
Groovy vs. Ruby vs. Python Performance
GParsを使ったベンチマークってどこかになかったっけ??
もし自分で性能測定をする場合は、@nagai_masato 作
GBench を使えばいいだろう。
性能だと、Java、Scalaと比較するとGroovyってこんなにも違うんだな。
Scala、Groovyにしても、それぞれ、メリット・デメリットが違うから、
適した領域に使えばHappyになれるし、変なところに入れれば、Unhappyになってしまう。
当たり前の話だけど。
僕個人としては、Groovyのやさしさが好きだから、Scalaには手を出さないだろうな。
(手が出ないと言ったほうが正しいかも)
もっと新しいデータ、適したデータがあるよとのことであれば
コメント、トラックバック、はてブ、Twitter @orange_clover宛 で、お願いします。