Facebook's Fred Emmott works on benchmarking HHVM's performance when running various open-source PHP frameworks. This puts him in contact with MediaWiki's codebase. He wrote in to suggest that we experiment with using plain PHP files instead of CDB for the l10n cache. We should try that and see whether it improves performance.
Deployment plan (see also T99740#5165753 by @Krinkle):
- Have Scap (also) generate l10n cache in the array format whenever it calls rebuildLocalisationCache.
- See also T105683.
- 2015: Update Scap to recognise non-cdb l10n files. https://gerrit.wikimedia.org/r/c/mediawiki/tools/scap/+/224520
- 2020: Add LCStoreStaticArray build to Scap. https://gerrit.wikimedia.org/r/c/mediawiki/tools/scap/+/558243
- 2020: Move LCStoreStaticArray build behind php_l10n feature flag in Scap. https://gerrit.wikimedia.org/r/c/mediawiki/tools/scap/+/630592
- Package new scap and have it deployed to production (T245530); then run a full scap.
- Enable array format for Beta Cluster wikis.
- 2020: Enable. https://gerrit.wikimedia.org/r/c/operations/mediawiki-config/+/508724
- 2020: Revert. https://gerrit.wikimedia.org/r/c/operations/mediawiki-config/+/651228
- 2026: Add LCStoreStaticArray build on Beta Cluster. https://gerrit.wikimedia.org/r/c/operations/puppet/+/1219190
- 2026: Enable LCStoreStaticArray on Beta Cluster.
- Enable array format for mwdebug1001/mwdebug2001 for performance testing (establish baseline on x002, detect difference if any, confirm difference in other DC). This is temporary. Undo afterward to reduce differences between debug and prod.
- Enable array format for group0 (i.e. testwikis, closed, mw.org, office).
- 2015: Enable on test2wiki (reverted). https://gerrit.wikimedia.org/r/c/operations/mediawiki-config/+/217702
- Enable array format for wikidata.org in production.
- Enable array format for commons.wikimedia.org in production.
- Enable array format for group1 in production.
- Enable array format for group2 in production. (all wikis)
- Update Scap config to no longer generate the old cdb format via rebuildLocalisationCache.
- Remove config switch.





