2007/12/16
Spectrum, Stalin
普段あんまりちゃんと読んでないIEEE Spectrumなのだが、今月号はおもしろかった。 Taser銃の仕組みとか、MMORPGのbotとRMTで稼いでいた人の話とか。
-*-*-
comp.lang.schemeの 速いScheme処理系は?というスレッドにて
- Stalinは速いぜ。チューニングされたCより速い。
- ホント? 単に比較してるCコードの方がタコなんじゃないの?
という流れにStalinの作者Jeffrey Mark Siskind本人が 有無を言わさぬベンチマークをひっさげて降臨。おもしろいことになってる。
言語の速度の比較で忘れられがちなのが、最適化はトレードオフである ってところだ。StalinはCを経由してネイティブコードを出してるんだから、 Stalinが出すCコードと同じものを手で書いてやれば、Cだって同じ速度が 出るわけで。でもそれだとあまりに不便なので、利便性と天秤にかけた 結果として現在のCの処理系に落ち着いてる。Stalinがすごいのは Schemeだからではなくて、バランスの秤を実行時の速度という方向に 振り切ったらどうなるかというのを 実装して動かしてる ところだ。 理屈の上ではどんな言語でも出来る。それを実際にやってるかどうかという 問題。
Tag: Scheme