It was identified in T243951: Lua creates lots of ItemId and PropertyId objects that these objects might be causing a bit of a performance hit, but we thought it may not be worth it and declined the ticket.
This topic came up again in {T249587#6086933} with a concrete starting point.
Some good points to look at will be:
- Subclassing
- Redundant splitting and recombining
- Redundant storage of the same strings
- Early manipulation in the constructor (that could be deffered?)
Acceptance Criteria:
- Creation of objects is profiled in current state (memory and construction / interaction times)
- Improvements to performance are made keeping the external interfaces and interactions the same
- Profile the end result
- Document in this ticket any visible impact on production after deployment.