On Thu, Apr 10, 2008 at 9:47 PM, chromatic <[EMAIL PROTECTED]> wrote:
> On Thursday 10 April 2008 18:35:00 Patrick R. Michaud wrote:
>
>  > > [OO] Optimized isa() vtable entry for Class.  Instead of delegating
>  > > most of its work to isa_pmc(), this entry now performs its work
>  > > directly.  This is slightly faster and avoids creating a temporary PMC.
>  > >
>  > > The Perl 6 build process is now 19.78% faster with this patch, and all
>  > > tests still pass.
>  >
>  > I'm guessing "slightly faster" here was meant as humorous understatement...
>  > A nearly 20% improvement in _overall_ build time?!?
>
>  It's only the NQP -> PIR generation that I can prove is 20% faster.  The rest
>  of it is probably faster.
>
>
>  > I'm a little curious as to _why_ updating isa() for Class makes such
>  > a big difference -- what is (or was) calling isa() so frequently on a
>  > Class object?
>
>  I think it's everything that called isa on a Class or Object.  It wasn't so
>  much the frequency of the calls, but that every call allocated a temporary
>  PMC that almost immediately went unused.  Allocating fewer unnecessary PMCs
>  in hot paths dramatically improves our performance at the moment.  A better
>  GC will help, but it's still a good practice.
>
>  -- c
>
>

On my osx/86 box, with an optimized parrot:  partcl can now run
t/cmd_expr.t about 20% faster than it did on March 12. There were no
substantial changes to partcl during this time, and we don't use NQP.

Thanks, c.

-- 
Will "Coke" Coleda

Reply via email to