Rakudo takes a significant speed hit when in its own HLL

Patrick R. Michaud pmichaud at pobox.com
Tue May 19 20:35:31 UTC 2009


I'm sending this to parrot-dev for now, but can also turn it into
a ticket.  This past week Tene++ and I finished moving Rakudo into
its own HLL namespace, but we appear to take a huge performance hit
by doing so.  As an example, running the "make spectest" target on
my machine takes 33m13 when Rakudo is running in the 'parrot' HLL,
but takes 50m26 when in the 'perl6' HLL.  (Yes, that's 50% slower.)

Here's a much smaller benchmark that also demonstrates the difference
on my machine:

  $ cat z
  my $i = 1;
  while $i <= 5000 { $i++; }
  
  $ time ./perl6-parrot z
  
  real	0m2.618s
  user	0m2.532s
  sys	0m0.076s
  $ time ./perl6-hll z
  
  real	0m5.826s
  user	0m5.636s
  sys	0m0.172s
  $ 

Switching rakudo from one HLL to the other is fairly straightforward 
right now -- simply change line 13 of perl6.pir from 'perl6' to 
'parrot' and rebuild.

Any help or clues appreciated.

Pm


More information about the parrot-dev mailing list