追記:1.2.0 と 2.0.0の比較を追加しました
SML# 2.0.0 をリリースしました。今度のSML#はLLVMベースです! http://t.co/tjUmWY4cQI #smlsharp
— SML# (@smlsharp) 2014, 4月 4
3月にお酒を飲んでいる時、uenoさんやO堀先生が今年度中に版上げをする、と仰っていたので楽しみに待っていましたが、ついに公開されました!
今回からはLLVMベースみたいですよー。
取り急ぎ@eldeshさんのaobench_smlでベンチマークをしてみようと思います。
過去のバージョンでベンチマークした結果やaobench_smlに関する詳細は
http://d.hatena.ne.jp/eldesh/20131213/1386907957
に書いてあります。
また僕もココで過去に実験しました。
x64のubuntu13.10 上で今回実験しました。結果は以下の通り。
| | gcc 4.8.1 | sml/nj v110.75 | mlton 20100608 | smlsharp 2.0.0 |
| real | 0m1.533s | 0m3.900s | 0m2.757s | 0m18.146s |
| user | 0m1.532s | 0m3.883s | 0m2.747s | 0m18.115s |
| sys | 0m0.000s | 0m0.008s | 0m0.008s | 0m0.012s |
まぁ、他のコンパイラ、速すぎです…。mltonとかすごいよなぁ。
今後公開されるであろうドキュメントに注目です!
追記:ちょっと旧版とのひかくをしてなかったので、取り急ぎ
1.2.0 -> 2.0.0 でrealは31.126s -> 18.146s。確実に高速化してる
— nomaddo (@no_maddo) 2014, 4月 5
[~/Download/aobench_sml-master] ./meta-aobench.sh
gcc is running
real0m1.533s
user0m1.532s
sys0m0.000s
Standard ML of New Jersey v110.75 [built: Thu May 9 05:41:01 2013]
[scanning aobench.cm]
[library $SMLNJ-BASIS/basis.cm is stable]
[library $SMLNJ-LIB/Util/smlnj-lib.cm is stable]
[loading (aobench.cm):aobench.sml]
Heap was already up-to-date.
sml is running
init_scene...
rendering...
real0m3.900s
user0m3.883s
sys0m0.008s
mlton is running
init_scene...
rendering...
real0m2.757s
user0m2.747s
sys0m0.008s
make: `all' に対して行うべき事はありません.
smlsharp is running
init_scene...
rendering...
real0m18.146s
user0m18.115s
sys0m0.012s