Spark启动提速
星期四, 4月 2nd, 2009项目使用spark作为基础,加了不少内容,基本上是只增不删,等到做得差不多了,便开始砍掉那些不用的代码。
测量了一下,界面方面多余的组件初始化的时候消耗得特别多,砍掉。再优化了一些加载逻辑,最后发现还是比较长的启动速度。
于是启用final大法,虽然spark类早已声明成final的,然而spark类的实例化的过程却不是final的。更改了一下:
[snippet=13700]
这样编译的时间长了很多,然而启动速度有了质的飞跃。
项目使用spark作为基础,加了不少内容,基本上是只增不删,等到做得差不多了,便开始砍掉那些不用的代码。
测量了一下,界面方面多余的组件初始化的时候消耗得特别多,砍掉。再优化了一些加载逻辑,最后发现还是比较长的启动速度。
于是启用final大法,虽然spark类早已声明成final的,然而spark类的实例化的过程却不是final的。更改了一下:
[snippet=13700]
这样编译的时间长了很多,然而启动速度有了质的飞跃。
在之前的一篇日志中提及,由于某个利用book模块建立的手册过于臃肿,导致,生成手册纲要的时候耗费很多服务器资源,包括mysql的内存。
内容上的整改:
1.把深度大于4的节点都上移了,由于只有一些深度为5的节点,因此在后台用一个update语句处理了:
update menu_links set plid=p3,depth=4,p4=mlid,p5=0 where depth=5;
2.刷新页面的时候发现节点链接并没有显示在原节点的父节点的父节点的页面中,到
代码上的修改:
drupal/include/menu.inc
define(’MENU_MAX_DEPTH’, 9);
改为
define(’MENU_MAX_DEPTH’, 4);
这样,生成手册纲要的时候就只有节点深度3及以上的了。手册纲要在服务器上生成的时间实际上减少得不多,减少的是传输的数据,页面形成的时间也缩短了。再看看怎么改module/book/book.module吧。