使用 TPTP 对 Eclipse 插件进行性能剖析和调优
2010-03-08 00:00:00 来源:WEB开发网图 15. 进一步分析 parseContent 方法
查看原图(大图)
在该方法的 Selected method incokes 部分,我们可以看到,createParser 耗费了大部分的运行时间。我们可以从两方面入手进行性能调优,一是改善该段代码执行逻辑以增强性能,例如我们的第一轮修改中,从 DOM 的分析模式改为 SAX 模式。另外就是从代码的调用次数上入手,减少性能不佳代码的调用次数。例如在这里,通过进一步分析,具有性能瓶颈的方法用于产生用于 XML 分析的解析器,逻辑非常简单,但却被调用了 24 次。所以我们就可以从减少次数的角度来增强性能。
分析代码,我们可以创建一个 SAX 解析器的私有变量以在每次解析 XML 的过程中重用同一个解析器对象。以如下的方式修改代码:
清单 1. 重用 SAX 解析器对象的代码
privateSAXParser _saxParser;
protectedSAXParser createParser() throwsParserConfigurationException, SAXException
{
if(_saxParser == null)
{
SAXParserFactory f = SAXParserFactory.newInstance();
f.setValidating(false);
_saxParser = f.newSAXParser();
}
return_saxParser;
}
之后再次执行分析过程,就会发现,parseContent 方法的执行时间已经被缩减到了 0.017s 左右。通过我们的性能分析可调优,一个完成同样任务的方法,其执行时间已经从 0.5s 降低到了 0.017s,相信最苛刻的客户也可以接受这样的结果了吧。
本文通过一个示例说明了在 Eclipse 插件开发过程中如何使用 TPTP 进行性能分析和调优。可以看到,使用 TPTP 可以对程序运行时的各种数据进行直观化、图形化的分析。通过该工具的帮助,性能调优以及程序运行时状态的分析其实是一件非常容易的事情。
更多精彩
赞助商链接