快速业务通道

用Runtime Syp调整Eclipse的启动性能,第2部分 - 成功的骗局 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23

用Runtime Syp调整Eclipse的启动性能,第2部分 - 成功的骗局

时间:2010-12-02 IBM Dan Kehn

Runtime Spy 是 Eclipse.org 提供的核心工具 (Core Tools)之一,它是特 别设计的一个透视图及一组视图,用于帮助您找到并诊断插件启动性能问题。其 中的一个案例研究说明了Runtime Spy 如何用于提高 IBM WebSphere Studio Application Developer 的启动性能。上一篇文章,也就是 第1 部分,对 Runtime Spy 进行了介绍。

阅读完本系列文章的 第 1 部分 后,您应该已经对 Runtime Spy 如何来帮 助您查找启动问题的位置有了大体的认识。让我们通过一些特定的例子来弄明白 如何用它减少您的插件启动时间。为了让话题更有可读性,我们将探讨一些在 Runtime Spy 帮助下纠正的问题,这些问题的纠正是 IBM WebSphere Studio Application Developer 性能提高的一个方面。

注意:核心工具只能运行于 Eclipse 版本 2.x。在本文发表时,它们还不能 运行于 Eclipse 3.0 驱动程序上;编号为 47518 的 bug 描述了这一问题。

帮助 Eclipse 快速启动

为提高一个基于 Eclipse 的应用程序的启动性能,一般来说有两个目标:

尽可能地延迟插件的激活。

在激活您的插件时将涉及到的工作量减到最少。

这两个目标共同的原则是 尽可能延迟代码的执行。您可以采用的一些方法:

不要加载您的插件

怎么办?首先,要遵循 Eclipse 本身的插件扩展的思 想。不要忘记,很多 Eclipse 扩展点定义要求贡献者静态地声明足够的信息, 以延迟代码的加载,直到需要执行被请求的动作时才加载。这是 Eclipse 体系 结构的基本思想,在插件清单文件的声明中得到了体现。您自己的扩展点定义也 应该采用这一方法。

减少插件初始化时加载的类的数量

最常出现问题的地方是 Plugin.startup 方法中的引用。很多插件重载这个方法以完成它们的初始化。理想的解决方法通常是,让您的插件延迟它的初始化,直到用户请求您的产品的 某个特定的动作时再初始化。要不然,下一个最好的选择是最小化引用的类和插 件的数量。在任何一种情况下,Runtime Spy 都可以指出哪里可能会占用太多的 时间或者触发太多其他插件的激活。

在插件初始化期间减少 CPU 利用率

同样,最常出现问题的地方还是插件 的 startup 方法的代码或者它所调用的代码。内存结构的滞后初始化可以节省 CPU 时间并延迟其他插件的激活。还有一种可能是在启动时派生一个单独的低优 先级的线程,当系统空闲时再去完成初始化,不过这种方法需要特别注意处理好 同步。

通过延迟插件的激活,会给用户一种产品更为灵活的印象。尽管 累积的CPU 时间是完全相同的,但是相对于在最开始强制完成,将其分解为若干小块在较长 的一段时间内分步完成会进一步降低人们的注意力。在第一次调用时(也就是启 动您的产品或者打开第一个透视图、编辑器或视图时)尤其不应该有延迟,因为 正是在这个时候用户最关注于工作的完成而没有太多耐心。

再介绍 Runtime Spy

Runtime Spy 为您提供了用于跟踪三种加速启动方法的基本统计表,如图 1 所示。

图 1. Runtime Spy 透视图由 Activated Plugins、Loaded Classes、 Plugin Datasheet、和 Stack Trace 四个视图组成

您的第一个目标是让 Activated Plugins视图中出现的条目减到最少。对于 那些出现在列表中的插件,您的第二个目标应该是让 Loaded Classes视图中出 现的条目减到最少。Activated Plugins 视图中的 Startup time列将为您指出 那些启动时间较长的插件。在 Activated Plugins 中选择 按钮可以更新 Stack Trace视图,让您明白 插件 为何被加载,在 Loaded Classes 视图中选择 按钮将为您说明 类为何被加载。

用Runtime Syp调整Eclipse的启动性能,第2部分 - 成功的骗局(2)

时间

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号