三种产品的快速比较
在我探究具体的分析器特征(和非特征)之前,表格1 展示了每个产品关键点的属性矩阵:
Table 1.属性矩阵
| |
Optimizeit Suite |
JProbe Suite |
JProfiler |
| 版本 |
5.0 |
5.0 |
2.2.1 |
| 价格 |
$1,599 |
$2,0001 |
$499 |
| 免费评价 |
Yes |
Yes |
Yes |
| 在线(安装)帮助 |
Yes |
Yes (JavaHelp) |
Yes (JavaHelp)2 |
| 有无上下文相关帮助? |
Yes |
Yes |
Yes |
| 安装指南 |
Yes |
Yes |
No3 |
| 白皮书文件 |
No |
Yes |
No |
| 工具模块数 |
3 (Profiler, Thread Debugger,Code Coverage) |
4 (Profiler, Coverage,Memory Debugger,Threadalyzer) |
0 (all-in-one) |
| 工具模块是否单独出售? |
No |
Yes |
No |
| CPU 分析器 |
Yes (不实时) |
Yes (不实时) |
Yes (实时) |
| 对象/堆栈 分析器 |
Yes |
Yes |
Yes |
| 线程分析器 |
Yes |
Yes |
Yes |
| 死锁检测 |
自动并可见 |
自动 |
手动 |
| 路径条件检测 |
No |
Yes |
No |
| 代码覆盖 |
Yes |
Yes |
No |
| 多JVM支持 |
Yes |
Yes |
Yes |
| 深入到源代码 |
Yes |
Yes |
Yes |
| 深入到字节码 |
No |
Yes |
Yes |
| 远程评价* |
Yes |
Yes |
Yes |
| 自动评价** |
Yes |
Yes |
Yes |
| IDE 集成 |
Yes |
Yes |
Yes |
| 生成报告 |
Yes |
Yes |
Yes |
| 主机平台许可政策 |
多平台和单一平台许可 |
单一平台许可 |
多平台 |
| 网址 |
http://www.borland.com/optimizeit/ index.html |
http://www.jprobe.com/ |
http://www.jprofiler.com/ |
| 易于使用度 |
7/10 |
4/10 |
8/10 |
注释:
* 远程评价:在你的开发设备之外的其它设备上评价你的Java程序的执行
** 自动评价:实现无人看管的通宵的评价会话期;换句话说,不使用GUI驱动的命令列队
1 JProbe Suite的价格包含一年的Gold Support (即技术支持)
2 ej-technologies的JProfiler的在线帮助几乎不包含任何的视图或者对话栏
3 ej-technologies'缺乏明确的指南将由某些演示会话期作出补偿
测试平台
我惊喜地发现:从对宿主操作系统(OS)到对JAVA虚拟机的不同版本, 分析器对不同的平台都有广泛的支持。实际上,大多数分析器支持每一个与商业相关的主机和/或JVM实现(这归功于大量的排列,查看更多细节请浏览开发商的产品网站)。一个例外就是Borland和 Quest Software的分析器都不支持Windows 98。据说是因为Windows 98 在实时精确度的处理方面不是一个"认真的"OS。(Windows 98通过它的公共API显然只能提供50-ms嘀嗒信号的精确度, 毫无疑问,通过这样一个粗糙的计时器的网络许多方法将会以失败告终)所以,在一个配置为900-MHz Athlon CPU、256 MB RAM 、运行Windows XP (Service Pack 1)的单独的PC机上,我把这三个分析器都测试了一下。
为了方便组织这篇回顾,我将测试限制在单独的Java 2平台、标准版(J2SE)应用程序内。 尽管这三种分析器明确表示支持servlet评价或者运行在不同应用服务上的EJB组件,他们的开发商也想借此尽力打进J2EE市场,但我还是没有测试Java 2 Platform、 企业版(J2EE)应用程序。
你必须熟知应用程序的结构和实现,才能从使用分析器中获得新知识,所以我主要依赖于我自己的两个真实的作为评价试验品使用的应用程序(见下面的表格2)。
Table 2. 配置的应用程序
| 程序名 |
World-on-a-Disc |
Slave |
| 描述 |
用于CD/DVD-ROM的基于映射的多媒体引擎See http://www.worldonadisc.com/ |
普通的可插文件和目录处理器See www.lv2.clara.co.uk/slave.html |
| 实现的"唯一致命弱点" |
CPU-bound |
I/O-bound |
| 包含的类的数目 |
35 |
60+ |
所有这三个分析器都配送小型的演示应用程序。在使用这些工具评价程序之前,我觉得很有必要熟悉每个分析器,所以我干脆将它们的演示程序都玩了一遍。
|
|