■ The Computer Language Benchmarks Game 23:20
Computer Language Benchmarks Game
以下、id:yatsutaによるバイアスかかりまくりの評価(主に実行速度)。
- vs. C gcc
- 5x程度の負けに収まっている。chameneos, cheap-concurrencyなどconcurrent系は勝利。
- vs. OCaml
- 微妙に敗北気味だが、まあ誤差の範囲内。chameneosは大勝利。
- vs. SML MLton
- ほぼ互角。chameneos, cheap-concurrencyは勝利。fastaは敗北。
- vs. Clean
- 敗北気味だが、cleanにはchameneos, cheap-concurrencyのベンチマークがない。
- vs. Erlang HiPE
- 全体的に大勝利。chameneos, cheap-concurrencyが互角なのはさすが。
- vs. Java 6 server
- 敗北気味だが、cheap-concurrencyとstartupは大勝利。java(しかもserver)とstartupを比較するのは不憫だが、cheap-concurrencyは少々意外。synchronizedまわりはあまりよくないのか?あとメモリ使用量は大勝利w
- vs. Scheme MzScheme
- 大勝利。
- vs. Lisp SBCL
- ほぼ互角。chameneos, startupは勝利。メモリ使用量は勝利。
- vs. Perl, Python, Ruby
- さすがに実行速度で彼らに負けるわけにはいかない。
まとめ。concurrent系はとても速い。Control.Concurrentのおかげか。それ以外は他の関数型言語に対してちょっとだけ遅めかも。関数プログラミングに慣れれば、実行速度と開発効率のバランスは大変よいと感じた。