PCC Optimization: Eliminate STRINGs for MMD Type Tuples
chromatic
chromatic at wgz.org
Thu Oct 15 08:36:50 UTC 2009
The attached patch (breaks several tests but) eliminates the use of the
CallSignature PMC's short_sig attribute for storing argument information used
to create multiple dispatch tuples. The STRING mangling is expensive in
aggregate, it's rarely useful outside of MMD situations, and it stores
information retrievable in other fashions when necessary.
The CallSignature PMC can already cache MMD type tuples as necessary.
This patch runs the fib.pir benchmark on the pcc_reapply branch some 8.285%
faster than without. There are other places to perform similar optimizations.
It needs some attention and overview from someone more familiar with PCC and
the MMD algorithm. I think it's on the right track, but it's obviously
missing some crucial elements.
-- c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: call_sig_mmd_raw_sig.patch
Type: text/x-patch
Size: 8490 bytes
Desc: not available
URL: <http://lists.parrot.org/pipermail/parrot-dev/attachments/20091015/55f4af02/attachment.bin>
More information about the parrot-dev
mailing list