用Runtime Syp调整Eclipse的启动性能,第2部分 - 成功的骗局 - 编程入门网
用Runtime Syp调整Eclipse的启动性能,第2部分 - 成功的骗局时间:2010-12-02 IBM Dan KehnRuntime 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 中选择 用Runtime Syp调整Eclipse的启动性能,第2部分 - 成功的骗局(2)时间 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |