Like we cache whole entities in Lua, we should also cache individual statements loaded via php.getEntityStatements, this is especially important as serializing Statements for Lua is fairly expensive.
Description
Details
Event Timeline
Change 546223 had a related patch set uploaded (by Hoo man; owner: Hoo man):
[mediawiki/extensions/Wikibase@master] Generalize internal cache in mw.wikibase.lua
Change 546224 had a related patch set uploaded (by Hoo man; owner: Hoo man):
[mediawiki/extensions/Wikibase@master] In Lua cache mw.wikibase.getBestStatements/getAllStatements
Change 546294 had a related patch set uploaded (by Hoo man; owner: Hoo man):
[mediawiki/extensions/Wikibase@master] Track mw.wikibase in memory statement cache misses
Change 546223 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Generalize internal cache in mw.wikibase.lua
Change 546224 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] In Lua cache mw.wikibase.getBestStatements/getAllStatements
Change 546294 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Track mw.wikibase in memory statement cache misses
Yes, I think so. According to the new "Wikibase lua getEntityStatements cache (daily average) " panel on the wikidata-lua-function-usage dashboard, we achieve more than decent hit rates for both Wikipedia and many sister projects, and exceptional hit rates for commons (way more hits than cache misses).