pbc_frozen_strings1 branch (was Re: Fwd: PBC, Const Tables, and STRINGs)

chromatic chromatic at wgz.org
Sun May 2 20:50:32 UTC 2010


On Saturday 01 May 2010 at 20:43, Peter Lobsinger wrote:

> This is more of a quick and dirty approach, the correct approach being
> a restructuring and cleaning of IMCC. This allows us to determine the
> value of this optimization and reap some benefits before engaging in
> the higher-cost right answer.

On trunk, the parrot-nqp executable is 783,158 bytes large.  On the branch, 
it's 668,470 bytes large -- 14.644% smaller.  The PBC files are 740,720 and 
628,800 bytes, respectively (15.110% smaller on trunk).

Startup time is 68,137,627 versus 61,625,420 instructions, as measured by 
Callgrind.  That makes the branch 9.557% faster.

The trunk version thaws 26,312 unique STRINGs from PBC.  The branch version 
thaws 9,545.  That's 63.724% fewer STRINGs on the branch.

These numbers should hold for other programs which use NQP, if not improve 
slightly.  I don't expect such dramatic improvements for runtime costs, with 
the caveat that the less memory a program uses, the better its cache 
performance and the less work the GC must do.

-- c


More information about the parrot-dev mailing list