<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6000.16587" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=新細明體 size=2><SPAN class=364065717-01022008>After several
testing, I think I know why our plugin is so slow...</SPAN></FONT></DIV>
<DIV><FONT face=新細明體 size=2><SPAN
class=364065717-01022008></SPAN></FONT> </DIV>
<DIV><FONT face=新細明體 size=2><SPAN class=364065717-01022008>The problem is plugin
menu & locales :(</SPAN></FONT></DIV>
<DIV><FONT face=新細明體 size=2><SPAN
class=364065717-01022008></SPAN></FONT> </DIV>
<DIV><FONT face=新細明體 size=2><SPAN class=364065717-01022008>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 ....</SPAN></FONT></DIV>
<DIV><FONT face=新細明體 size=2><SPAN
class=364065717-01022008></SPAN></FONT> </DIV>
<DIV><FONT face=新細明體 size=2><SPAN class=364065717-01022008>The second problem is
our plugin locales. Iit use array_merge() to merge the plugin locales into core
locales.... </SPAN></FONT></DIV>
<DIV><FONT face=新細明體 size=2><SPAN
class=364065717-01022008></SPAN></FONT> </DIV>
<DIV><FONT face=新細明體 size=2><SPAN class=364065717-01022008>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 not.</SPAN></FONT></DIV>
<DIV><FONT face=新細明體 size=2><SPAN
class=364065717-01022008></SPAN></FONT> </DIV>
<DIV><FONT face=新細明體 size=2><SPAN class=364065717-01022008>For 2nd problem,
maybe we can use include() only, </SPAN></FONT></DIV>
<DIV><FONT face=新細明體 size=2><SPAN
class=364065717-01022008></SPAN></FONT> </DIV>
<DIV><FONT face=新細明體 size=2><SPAN class=364065717-01022008>For production
server, I think add all menu to menu.xml and all locales to core locale file is
very helpful......</SPAN></FONT></DIV>
<DIV><FONT face=新細明體 size=2><SPAN
class=364065717-01022008></SPAN></FONT> </DIV>
<DIV><FONT face=新細明體 size=2><SPAN
class=364065717-01022008>====</SPAN></FONT></DIV>
<DIV><FONT face=新細明體 size=2><SPAN
class=364065717-01022008></SPAN></FONT> </DIV>
<DIV><FONT face=新細明體 size=2><SPAN class=364065717-01022008>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 window
xp)</SPAN></FONT></DIV>
<DIV><FONT face=新細明體 size=2><SPAN
class=364065717-01022008></SPAN></FONT> </DIV>
<DIV><FONT face=新細明體 size=2><SPAN class=364065717-01022008>1. LifeType core + 14
plugins (8 with xml menu entries setting) : 1000 ms</SPAN></FONT></DIV>
<DIV><FONT face=新細明體 size=2><SPAN class=364065717-01022008>2. (1) and remove all
locale files : 900ms</SPAN></FONT></DIV>
<DIV><FONT face=新細明體 size=2><SPAN class=364065717-01022008>3. (1) and remove all
plugins: 550ms</SPAN></FONT></DIV>
<DIV><FONT face=新細明體 size=2><SPAN
class=364065717-01022008></SPAN></FONT> </DIV>
<DIV><FONT face=新細明體 size=2><SPAN class=364065717-01022008>Just for your
reference.</SPAN></FONT></DIV>
<DIV><FONT face=新細明體 size=2><SPAN
class=364065717-01022008></SPAN></FONT> </DIV>
<DIV><FONT face=新細明體 size=2><SPAN
class=364065717-01022008>Mark</SPAN></FONT></DIV>
<DIV><FONT face=新細明體 size=2><SPAN
class=364065717-01022008></SPAN></FONT> </DIV>
<DIV><FONT face=新細明體 size=2><SPAN
class=364065717-01022008></SPAN></FONT> </DIV>
<DIV><FONT face=新細明體 size=2><SPAN
class=364065717-01022008></SPAN></FONT> </DIV></BODY></HTML>