> mops tests :
> 
> on perl5,python I get - 2.38 M/ops
> ruby ~ 1.9 M/ops
> ps ~ 1.5 M/ops
> 
> parrot - 20.8 M/s
> parrot jitted - 341 M/ops and it finish in half second ... for most of
> the other I have to wait more that a minute ..

Frankly speaking, this number is misleading. I know the python and ruby
interpreter. They count "a + b" as 3 mops, load a, load b, and add top
two values of stack. The a and b can be any type, so type check, coersion,
vtable dispatch overhead are necessary. It is equivalent to add to PMCs
and produce a third PMC. The Parrot op does not map directly to language
constructs, it is more like Java virtual machine, where operand types
are known. Some time, compiler can compile code directly into Parrot
opcode, when the type information is avaible. Most of time, we have to
use generic PMC and vtable. The difference between Perl 5 opcode and
Perl 6 opcode + vtable would be much smaller.

Hong

Reply via email to