Lazy K Playground
Lazy K もブラウザ上で実行できるようにしたいなぁ、でも JavaScript でインタプリタ実装するの面倒だなぁ、と思っているうちに世の中が進歩して簡単になったので作ってみました。
いくつか例を。
http://lazy-k.appspot.com/p/kyYMG82oRh
http://lazy-k.appspot.com/p/2koJ2YQ9fD
App Engine はコードの保存のために使っているだけで、実行はブラウザ上で行われます。バックグラウンドでインタプリタを動かすのに Web Workers を使っている関係で IE9 以前では動きません。ごめんなさい。
適当なベンチマークもしてみました。ベンチマークといえば円周率、ということで円周率を100桁計算するプログラムです。
http://lazy-k.appspot.com/p/jMQX90iL_S
手元のマシンでは以下のような結果になりました。
Firefox 22 | 80.1 sec. |
Chrome 27 | 97.4 sec. |
IE 10 | 314 sec. |
ネイティブ (lazyk.c) | 39.0 sec. |
よく言われている通り asm.js に最適化された Firefox 22 ではネイティブの倍程度の実行時間になりました。Chrome も健闘してますね。