Version 5 (modified by chromatic, 12 years ago)

ordered by rough progress

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

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