Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Elian (119)

Elian
  (email not shown publicly)
http://www.sidhe.org/~dan/
AOL IM: DanSugalski (Add Buddy, Send Message)

Perl 6/Parrot internals ex-design team lead.

Journal of Elian (119)

Saturday May 18, 2002
09:25 AM

Chugging right along

[ #5040 ]

Through some heroic work by Steve Fink, Jeff Goff, and Melvin Smith, amongst others, Parrot now has working arrays, hashes, and in a little while, a global symbol table. This is very keen.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Neat. What's the performance like? Any stats yet?
    • Re:Performance (Score:3, Interesting)

      There's some numbers in the May issue of The Perl Review. Off the top of my head, for equivalent things we see about a 4-5x speed increase over perl 5. (In trivial cases, with the JIT, we can see up to a 238x speed increase, but I wouldn't count on that for many things... :) Not counting regexes, where perl 5's Engine of Ultimate Evil wipes the floor with us. We're working on that, though.
      • Re:Performance (Score:3, Interesting)

        I meant specifically for hash and array access, setting, extending, etc. I've seen the overall performance figures for Parrot before.
        • Those numbers I don't have yet. This is just first cut stuff, and there's not been any tuning of, well, anything. (Though the numbers could be really good for all I know...)
        • Ran a quick test for hash times. Fetch only, this:

          $i = 1_000_000;
          do {
                $i--;
                $bar = $foo{'foo'};
          } while ($i);

          takes 2.21 sec usertime for perl 5, 1.4 sec usertime for parrot. The code needs some optimization still, as it's a bit slower than I'd like, but it's not bad for a first go.
          • Nice job.

            I assume that's also without JIT? And JIT would speed up the loop, I suspect.
            • Yup, that's without the JIT, since we don't yet have one for OS X. While the JIT may speed things up, my bet is it won't speed things up that much given that about 90% of the time for Parrot's spent in the hash variable's vtable. I'd expect some reworking of the hash code to be where the bigger win would be.