IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Was hoping he'd delve into Parrot a bit more
Thought it'd be more along the lines of how to get Python, Perl, and Ruby programs to play together well. Still the talk was interesting and kind of gave a glimpse of the philosophy be the designer, if not the Parrot itself.

One thing that did surprise was in the Q&A in the end, that he was talking about how poorly forth performed on Parrot. I'm assuming that the Forth stack really is a bit more dynamic, allowing you to jump willy nilly around based on calling routines that reside and get shuffled on the stack. Still, since Parrot is a stack VM, I would have thought it wouldn't be as poor performing as described.
New Parrot is NOT a stack VM
It is register based. With lots and lots of registers. (The idea being that any architecture which benefits really does. And that doesn't doesn't.) Also everything (as he described) has to have indirection everywhere.

OTOH I'm looking forward to Perl running 3-5 times as fast as at present. With bigger wins still if you are using a register-rich environment (like Opteron in 64-bit mode). ;-)

Cheers,
Ben
"good ideas and bad code build communities, the other three combinations do not"
- [link|http://archives.real-time.com/pipermail/cocoon-devel/2000-October/003023.html|Stefano Mazzocchi]
New Did catch the Lua VM presentation
Where the new Lua VM is registered based. Lua is restricted to 256 registers. Does Parrot have a similar limit? And doesn't Parrot still have a stack (even with all the registers)?
New Yes, Parrot has a similar limit
I think that it is 64 registers each of 4 different types.

And yes, there was a stack as well, but each item contains a whole set of registers so you only want to do that when you really, really want to. When I saw "was", I'm admitting that I saw the design before they added pervasive continuations to it. I don't know how continuations have changed things, but I know that it isn't a small change.

So the obvious implementation of Forth is pretty much a worst case.

Cheers,
Ben
"good ideas and bad code build communities, the other three combinations do not"
- [link|http://archives.real-time.com/pipermail/cocoon-devel/2000-October/003023.html|Stefano Mazzocchi]
     LL3 Webcast - (ChrisR) - (14)
         Thanks, looks interesting -NT - (ben_tilly)
         Parrot - (jake123) - (7)
             Why can't they be part of parrot? - (ben_tilly) - (6)
                 Re: Why can't they be part of parrot? - (jake123) - (5)
                     That doesn't seem like a valid objection to me - (ben_tilly) - (4)
                         No no no no... - (jake123) - (3)
                             Right, but you DON'T need to fork Parrot to do it - (ben_tilly) - (2)
                                 If you fork the parrot.... - (folkert) - (1)
                                     Re: If you fork the parrot.... - (pwhysall)
         It was pretty non-specific - (ben_tilly) - (4)
             Was hoping he'd delve into Parrot a bit more - (ChrisR) - (3)
                 Parrot is NOT a stack VM - (ben_tilly) - (2)
                     Did catch the Lua VM presentation - (ChrisR) - (1)
                         Yes, Parrot has a similar limit - (ben_tilly)

Laugh it up, fuzzball.
89 ms