3 ms·
Strictly speaking, MoarVM is not an NQP interpreter - it runs MoarVM bytecode. Sure, MoarVM is by design semantically close to NQP, but if you look at $ n
by cygx 11y ago
Strictly speaking, MoarVM is not an NQP interpreter - it runs MoarVM bytecode.
Sure, MoarVM is by design semantically close to NQP, but if you look at
$ nqp-m --stagestats -e ''
Stage start : 0.000
Stage parse : 0.003
Stage ast : 0.000
Stage optimize : 0.000
Stage mast : 0.005
Stage mbc : 0.000
Stage moar : 0.000
you get mostly the same steps as on the JVM
$ nqp-j --stagestats -e ''
Stage start : 0.000
Stage classname : 0.045
Stage parse : 0.067
Stage ast : 0.000
Stage optimize : 0.009
Stage jast : 0.145
Stage classfile : 0.010
Stage jar : 0.000
Stage jvm : 0.003
except that MoarVM bytecode files do not get bundled into JARs and there's no need to do the extra processing that happens in the 'classname' stage.
- kbenson 11y agoFair enough. MoarVM is just another interpreter targeted, but it just happens to have been designed with NQP and Perl 6 in mind, so it maps extremely well.