前回に引き続き今回はWEBサイトのサーバサイドで実行されるプログラム言語でのベンチマークをおこなってみた。
PCスペック、アルゴリズムは前回の「フィボナッチ数でベンチマーク(JavaScript)
」と同じである。
| 言語 | 時間(秒) | 備考 |
| GNU-C(4.4.3) | 0.71 | -O3 -march=i686 |
| Java(1.6.0) | 0.83 | OpenJDK |
| FreePascal(2.2.4) | 2.3 | objectPascalモード 最適化level3 |
| 越えられない壁?(以下インタプリタ) | ||
| GNU-Smalltalk(3.1) | 17 | オブジェクト指向のご先祖様 |
| Ruby(1.9) | 28 | 日本発スクリプト言語 |
| Pike(7.8) | 31 | CやJavaに似たインタプリタ |
| Lua(5.1.4) | 39 | ブラジル産軽量スクリプト。Cと相性よし。 |
| S言語(2.2.1) | 52 | 統計解析向け。R言語のお父さん。 |
| PHP(5.3.1) | 75 | もう説明不要。WEB向け言語 |
| Python(2.6.2) | 88 | なんとなくBASICっぽい言語 |
| Perl(5.8) | 227 | 昔はCGIといったらコレ |
「C最速」はやっぱりお約束。でもコンパイルオプションを指定しないと、Javaより遅かった。やはりJITのJavaは勝手に最適化してくれてるんだなぁ…。
Javaはもっともっさりしてる印象があったんだけど、思ったより速かった。重いのはGUIか?
Pascal系代表としてFreePascalを選んでみたのだが、「最適化がクソ」という評判どおり、中間コード形式のJavaよりもおそかった。あとランタイムもくっつけてるせいかコンパイラ系言語でいちばんファイルサイズが大きかった。
Smalltalk代表は、GNU-Smalltalk。さすがというかなんというか、インタプリタの中では抜きん出てはやい。Google ChromeのJavaScriptエンジンもSmalltalk系の言語(Strongtalk?)で作られているらしい。
Rubyは1.9になって恐ろしい程の性能向上。PHP3→4のインパクトを超えた。小数点以下のマイナーアップグレードでいいんだろか…
Pikeは日本ではマイナーだが、世界でもマイナー?でも地味にメンテナンスされている。今回のダークホース。
海外では人気のLua。その人気に恥じない速度を出してくれた。C言語との相性も良く、最近では日本のゲームなどにも使われている。
統計解析専門用語代表としてS言語で書いてみたのだが、その割にはいまいちパッとしない。残念。
RはSのサブセットらしいので、もしかしたらRの方が速いかもしれない。こんど試してみよっと。
PHP、Python、Perlはもう大体ゲバ評どおりの結果。
いや別にどれも嫌いじゃないんだけどね。それぞれ個性があって。
前回のも含めると、Google Chromeなどの最新ブラウザのJavaScript速すぎ。
「超えられない壁」超えちゃってるし…。
もう、今度からロジックまで全部クライアント側のJavaScriptにしようかしらん。負荷分散になるかもしれないし…。出来ない部分だけサーバ側で。
他にも気になる言語はちょこちょこあるので、またやってみたいと思う。
関数型言語って苦手なのよん…。














Comments