rakudo + MoarVM を試す
以下のようにするだけでいい。
> perl Configure.pl --backends=moar --gen-moar --prefix=/home/tokuhirom/rakudo/
> make && make install
おもったより動いてるように見える。
SEGV するケース
--dump
> moar --dump languages/perl6/runtime/perl6.moarvm
すると SEGV する気がする。これはたぶん MoarVM 側の問題っぽい。
Segmentation fault with REPL
% ./perl6-m
> "hoge".faaaa
zsh: segmentation fault (core dumped) ./perl6-m
となる。
Program received signal SIGSEGV, Segmentation fault.
MVM_6model_can_method (tc=0xe28000, obj=0x0, name=0x265a000, res=0x5eef1c8) at src/6model/6model.c:90
90 cache = STABLE(obj)->method_cache;
Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.132.el6.x86_64 gperftools-libs-2.0-11.el6.3.x86_64 libgcc-4.4.7-4.el6.x86_64 libstdc++-4.4.7-4.el6.x86_64
とのことで、NULL にたいして操作しているようだ(obj is NULL)。
起動速度について
0.6sec ぐらいで起動してくれる。
プロファイルをとったかんじだと、以下のようなかんじになっている。
malloc が遅いかんじだったので tcmalloc にさしかえたらちょっとはやくなった。
まとめ
思ったよりうごいている。
Published: 2014-11-28(Fri) 08:09