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