Page MenuHomePhabricator

Lower the memory footprint of ItemId, EntityId, PropertyId
Open, MediumPublic

Description

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.