We suspect performance issue with the current implementation of Entity, because it requires a full deserialization of the Entity to access any part. To even be able to investigate this suspicion, we need an alternative implementation that avoids full deserialization.
The deferred deserialization implementation should only unserialize individual parts when they are accessed. Parts to unserialize serparately are at least:
- terms
- statements
- sitelinks
More fine grained separation may or may not be worthwhile, so it is not part of this task and would need investigation first.