PBC, Const Tables, and STRINGs
wknight8111 at gmail.com
Mon Apr 26 00:19:15 UTC 2010
What Sub metadata are you talking about that isn't stored in the
constant tables? Where is this data stored, if not in the constant
On Sun, Apr 25, 2010 at 8:16 PM, chromatic <chromatic at wgz.org> wrote:
> The current version of PBC uses constant tables for PIR artifacts such as
> literal strings in PIR.
> It doesn't use constant tables for data such as Sub metadata. While NQP can
> generate closures and inner blocks fairly efficiently, we have to keep extra
> constant STRINGs around in the system because our freeze/thaw mechanism
> doesn't know how to store constant attributes of Subs in the packfile constant
> We could reduce PBC size, fakecutable size, freezing time, thawing time, and
> runtime memory use (not to mention GC runs) by coalescing these attributes
> into PBC constants somehow.
> Rough figures on Rakudo startup show some 405,000 STRINGs thawed from PBC,
> while some 16,000 are unique. That's 95% waste.
> Perhaps the ImageIO PMC's shift/unshift string VTABLEs could manage these
> constant STRINGs appropriately.
> -- c
More information about the parrot-dev