[pLog-svn] A terrible truth about plugin
mark.wu at markplace.net
Fri Feb 1 13:20:31 EST 2008
After several testing, I think I know why our plugin is so slow...
The problem is plugin menu & locales :(
In our plugin framework, we can add menu on the fly, it is good. But it use
XML_Tree(from pear), and it always lookup the specific node and add the
plugin menu as its child in each request. So, if we have 1 plugin, and 2
menu entries, it will search the menu tree twice. If we have 14 plugins and
each plugin has 2 menu entries, it will search 28 times ....
The second problem is our plugin locales. Iit use array_merge() to merge the
plugin locales into core locales....
For 1st problem, I have no idea how to solve it, maybe we can change it to
simplexml (native xml support) in php5 to see it increse any performance or
For 2nd problem, maybe we can use include() only,
For production server, I think add all menu to menu.xml and all locales to
core locale file is very helpful......
Here is the test result when I open editArticleCategories page: (I test it
under php5, apache 2.2 & mysql5 on a slow pentium M 1.8GHZ with 2G ram with
1. LifeType core + 14 plugins (8 with xml menu entries setting) : 1000 ms
2. (1) and remove all locale files : 900ms
3. (1) and remove all plugins: 550ms
Just for your reference.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the pLog-svn