Caches the global variable $l10n, which stores all translations for considerable speed improvement.
Author: | seb@wemakecustom.com (profile at wordpress.org) |
WordPress version required: | 3.0.1 |
WordPress version tested: | 3.5.2 |
Plugin version: | 0.2.2 |
Added to WordPress repository: | 23-04-2013 |
Last updated: | 23-04-2013
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
|
Rating, %: | 100 |
Rated by: | 3 |
Plugin URI: | |
Total downloads: | 1 807 |
Active installs: | 10+ |
Click to start download |
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%)
ChangeLog