Cached l10n

0

Upon inspection using xhProf, I realized that the PHP implementation loading the MO files is really slow. From my tests, about 25% to 40% of the time WordPress spends rendering the page

Version
Last updated
Active installations
WordPress Version
Tested up to
Rating
Total ratings
This plugin is outdated and might not be supported anymore.

Description

Upon inspection using xhProf, I realized that the PHP implementation loading the MO files is really slow.
From my tests, about 25% to 40% of the time WordPress spends rendering the page is actually spent locating, parsing and merging all the translation files.

This plugin works by caching the whole $l10n variable holding all the text domains and overridding the load_textdomain.

Caching is done using serialize and written to wp-content/uploads/l10n.pson.
Be sure to regenerate the cache if a .mo changes.

TODO

  • Provide a better UI page

Speed comparison

Comparing WordPress Gettext loading vs this plugin.

Using the average response time of:
siege -c 1 -r 100 -b http://localhost/

Vanilla: Fresh install of WordPress
Common: WPML, Types, Views, and Gravity Forms
Total Cache: Common + Total Cache (APC object/database cache, no page cache)
BuddyPress: BP-Registration-Options, BP Show Friends, BuddyPress, BuddyPress Activity Plus, Gravity Forms, Invite Anyone, U BuddyPress Forum Attachment, U BuddyPress Forum Editor, User Switching

            Vanilla         Common          Total Cache     BuddyPress
Native      202 ms          565 ms          478 ms          567 ms
Cached      193 ms (-5%)    322 ms (-43%)   333 ms (-30%)   431 ms (-24%)