Boo(
http://boo.codehaus.org/)という言語があるらしい。 python likeな文法でCLR上で動作するとのこと。気になるのはpythonと比較した場合のパフォーマンスだけど、静的型付けなどpythonよりも速く動きそうな特徴を持っているので期待できそう。
などのサイトを見ると、
CPythonよりも高速、フィボナッチ数を求めるベンチマークではpypyよりも速いという結果が出ている。 もうちょっと他のベンチマークの結果も知りたかったのでpythonのベンチマーク(
Unladen Swallow Benchmarks)の一部をBoo言語に移植してpythonの結果と比較してみた。結果は下記の通り。
測定環境
% uname -a
Linux nkmbp1 3.13.0-35-generic #62-Ubuntu SMP Fri Aug 15 01:58:42 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
% python --version
Python 2.7.6
% mono --version
Mono JIT compiler version 3.2.8 (Debian 3.2.8+dfsg-4ubuntu1)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: amd64
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: sgen
% pypy --version
Python 2.7.3 (2.2.1+dfsg-1, Nov 28 2013, 05:13:10)
[PyPy 2.2.1 with GCC 4.8.2]
実行時間の測定はtimeコマンドで実施。 boocの結果はコンパイル時間を含まず、実行時間のみ。
関数test_float(count)を50回実行
python |
7.582 sec |
pypy |
1.600 sec |
booi |
4.784 sec |
booc |
0.909 sec |
関数test_float(count)を100回実行
python |
38.316 sec |
pypy |
1.266 sec |
booi |
1.022 sec |
booc |
0.538 sec |
うーん。。。めちゃくちゃ小さなベンチマークなので、あくまで参考程度の結果ですが、この結果だけ見るとpypyでいいかなってなっちゃいますね。C#に慣れてる人、速度に問題があったらコンパイルする手間をいとわない人はBooを使う価値があるかもしれませんね。