Even with a zero overhead runloop a 20 times speed improvement 
in running typical non-trivial Python programs is simply not possible.
It's not like the Python opcodes perform no work at all:

 Performance Measurements for Pystone
 http://zope.org/Members/jeremy/CurrentAndFutureProjects/pystone

The overhead per Python opcode is around 50% or less.
And for the purpose of this discussion we'll ignore Python's 
BINARY_MULTIPLY opcode working on 200 digit numbers
where the runloop overhead is insignificant compared to the
calculation itself.

I can see a 2 or 3 times speed improvement at most 
with only a better runloop.  This is still very good.  
But for better timings Parrot would have to use type inference 
analysis to avoid the overhead of PMCs in favor of builtin types 
wherever possible.

--- Dan Sugalski <[EMAIL PROTECTED]> wrote:
> At 10:28 PM -0800 12/23/03, Joe Wilson wrote:
> >In order to get the 20x speed gain you seek I assume
> >that Parrot would have to perform some sort of variable
> >type inference to distinguish, for example, when a
> >scalar is really just an integer and use an integer register. 
> >Otherwise, the PMCs in Parrot would perform much the same
> >as the Python scalars (or whatever Python calls them).
> 
> No, actually. Most of that speedup can come from a better 
> runloop--python's core loop's rather inefficient. Full-on type 
> inferencing and whatnot'd likely get you a larger speedup.
> 


__________________________________
Do you Yahoo!?
New Yahoo! Photos - easier uploading and sharing.
http://photos.yahoo.com/

Reply via email to