[Python-Dev] Rattlesnake progress

Michael Hudson mwh@python.net
19 Feb 2002 16:50:04 +0000


Daniel Berlin <dan@dberlin.org> writes:

> On Tuesday, February 19, 2002, at 11:01  AM, Kevin Jacobs wrote:
> 
> > On Tue, 19 Feb 2002, Daniel Berlin wrote:
> >> On Tuesday, February 19, 2002, at 09:51  AM, Neil Schemenauer wrote:
> >>
> >>> Daniel Berlin wrote:
> >>>> When you get to optimizations, you want Advanced Compiler Design and
> >>>> Implementation by Muchnick.
> >>>
> >>> Right now I'm not planning to do any optimizations (except perhaps
> >>> limiting the number of registers used).
> >>>
> >> This is, of course, a tricky optimization to do.
> >> Limiting registers used involves splitting live ranges at the right
> >> places, etc.
> >
> > Why limit the number of registers at all?  So long as they fit in L1 
> > cache
> > you are golden.
> 
> Err, what makes you think this?
> The largest problem on architectures like x86 is the number of registers.
> You end up with about 4 usable registers. (hardware register renaming 
> only helps eliminate instruction dependencies, before someone mentions 
> it).
> Performance quickly drops when you start spilling registers to the stack.

I think you misunderstand what Rattlesnake is; AIUI it is (or
will/intends to be) a register based VM for Python replacing the
current stack based VM -- I think gcc still gets to decide which x86
registers to use...

Cheers,
M.

-- 
  ARTHUR:  The ravenours bugblatter beast of Traal ... is it safe?
    FORD:  Oh yes, it's perfectly safe ... it's just us who are in 
           trouble.
                    -- The Hitch-Hikers Guide to the Galaxy, Episode 6