Version 9 (modified by jimmy, 4 years ago)

--

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)
*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
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

Completed tasks:

Remove PMC struct's synclowlow2% at most (done in rr46289)