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