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