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