Version 3 (modified by bacek, 12 years ago)

Add branches for particular tasks.

Rakudo needs better performance from Parrot, and Parrot can provide it. Here are several areas of exploration.

ExplanationDifficultyAmount of WorkBenefit Estimate
FixingPIRVtableOverrides moderatelow to moderate 5%
FixingConstantSTRINGCaching moderatelowbig memory savings, 3% performance improvement, further benefits from other string changes (avl_string_cache branch)
Fix freeze/thaw of complex PMCsdifficultmoderate to highhuge startup improvement for Rakudo
Slim parrot_string_tlowlow to moderate2-3%, depending on workload
Remove PMC struct's synclowlow2% at most
Implement sweep-free GCmoderate to highmoderate10%, depending on workload
Remove PMCProxyhighmoderate5-7%
Implement garbage-first GChighhigh10-15%
Immutable Stringsmoderatelow (yes, really)7% (immutable_strings_part1 branch)
Type-specific hasheslow to moderatelow to moderate3-5%
String equality macrolowlow2-3%
Store CallSignatures in PBCmoderatelow to moderate7-8%
Cheaper access to object attributesmoderate to highmoderate5-7%
Make fast core the default corelow to moderatelow2-3%
RemoveUnnecessaryDataFromConfig_lib.pbclowlow to moderate5-10% Parrot startup
Loritohighhighorders of magnitude