Firebug如今已经成为Web开发人员的必备调试工具之一。不过很多Firebug的用户反映在使用该工具时,Firefox网页浏览性能下降。Rob Campbell在其博客中表示,即将发布的Firebug 1.5和Firefox 3.6将修正这个严重的性能缺陷。
Rob Campbell首先解释了Firebug引起Firefox性能下降的原因:
开发人员在启用Firebug的Console/Script面板时,Firebug将启动内部的调试钩子(debugging hooks),不过让人吃惊的是:为了得到精确的调试信息,这些钩子禁用了Firefox的高效Javascript JIT编译器,即使在Firebug关闭的时候。北京数据恢复 美国留学 电脑数据恢复 数据恢复
跟踪(tracing)是Firefox的Javascript引擎(即SpiderMonkey)提高代码执行效率的重要机制。它是Just-in-Time编译器的基础,提高了Firefox 3.5的运行速度,对某些操作甚至是数量级的改善。没有跟踪,JS引擎无法优化代码,从而导致运行速度显著下降。
他特别强调:如果你安装了Firebug,那么你的Firefox浏览器很可能运行缓慢。如果你曾经启用了Console和Script面板并保持这种状态,即使Firebug被关闭也是如此。快速的解决办法是通过菜单禁用Script和Console。
Boris Zbarsky和John Barton在即将发布的Firebug 1.5和Firefox 3.6修正了这个性能缺陷,Rob Campbell已经在内部构建版本中进行了验证。
Rob Campbell表示,甚至连他自己都没有注意到这个性能下降问题,因为他已经习惯了在非JIT的环境下使用Firefox,直到他禁用了Console和Script,才吃惊的发现浏览一些网页变得非常迅速。
Firebug 1.5除了修正了该缺陷之外,还增加了新功能,包括:
* 引入了名为http-activity-distributor的服务,为Net面板提供更精确的计时功能。
* 新的中断功能:HTML面板中Break-on-Mutation功能允许你在Javascript修改HTML元素时获得中断;Net面板中Break-on-XHR功能允许你在发送XmlHttpRequest时获得中断。
Firebug 1.5 beta版可以在此下载。
Firefox 3.6正式版已经推迟到2010年第一季度发布,目前读者可以下载到beta版。