Rakudo needs better performance from Parrot, and Parrot can provide it. Here are several areas of exploration.
Explanation | Difficulty | Amount of Work | Benefit Estimate
|
FixingPIRVtableOverrides | moderate | low to moderate | 5%
|
FixingConstantSTRINGCaching | moderate | low | big memory savings, 3% performance improvement, further benefits from other string changes
|
Fix freeze/thaw of complex PMCs | difficult | moderate to high | huge startup improvement for Rakudo
|
Slim parrot_string_t | low | low to moderate | 2-3%, depending on workload
|
Remove PMC struct's sync | low | low | 2% at most
|
Implement sweep-free GC | moderate to high | moderate | 10%, depending on workload
|
Remove PMCProxy | high | moderate | 5-7%
|
Implement garbage-first GC | high | high | 10-15%
|
Immutable Strings | moderate | low (yes, really) | 7%
|
Type-specific hashes | low to moderate | low to moderate | 3-5%
|
String equality macro | low | low | 2-3%
|
Store CallSignatures in PBC | moderate | low to moderate | 7-8%
|
Cheaper access to object attributes | moderate to high | moderate | 5-7%
|
Make fast core the default core | low to moderate | low | 2-3%
|
RemoveUnnecessaryDataFromConfig_lib.pbc | low | low to moderate | 5-10% Parrot startup
|
Lorito | high | high | orders of magnitude
|