2010年9月11日土曜日

pike、結構速いぞ?!

結構な昔からありますが、pikeというスクリプト言語があります。マイナーです。
http://pike.ida.liu.se/

そして、これまたマイナーなroxenというwebサーバの、
http://www.roxen.com/products/cms/webserver/
サーバサイドスクリプト言語でもあります。

pikeはC++/Cに似た感じの言語ではあるので、
そういう人々にwebの仕事をしてもらうのに都合が良いかと思っていたのですが、
だいたいそういう方々にはjava/PHPをやってもらっちゃうご時世です。

しかし、PHPは、スクリプト言語としてはどうやら遅い方らしい?

そこで思いだしましたpike。しかしマイナー過ぎて性能情報がありません。
仕方がないので自分で試してみました。

ベンチマークは数ありますが、マンデルブロ集合のものがソース付きだったので、
pikeに移植して、同じ条件で比較してみることに。

オリジナルはここでhttp://www.timestretch.com/FractalBenchmark.html
例によってgistに貼りました。http://gist.github.com/574137http://gist.github.com/574135
結論から言うと、かなり早いです。驚きました。luaに匹敵する性能でした。
http://gist.github.com/raw/574260/f7ad985013a5538921de98a67aafba67b2e781d5/gistfile1.txt
pikeは言語的にはこんな感じなので、
http://gist.github.com/raw/574137/a0d678929dc08cbc034ff9584fb7cebce16c84aa/mandel.pike
C++/Cの人に、PHP/python/luaをやらせるよりは現実的じゃないでしょうか?

http://gist.github.com/raw/574135/48624475858c4cd37fe488c320d7ae5ddaf8bc50/mandel.c
ほうらソックリ。
例によって、全自動スクリプトも作ったので、皆さんも自分の目でお試しを。http://gist.github.com/574260