我正在编写一个java应用程序,它读取输入,填充数据结构,然后对它们进行一些计算。我想优化最终的计算部分,因为使用真实的大输入它可以控制执行时间。使用巨型输入分析整个应用程序将需要永远。因此,我为性能测试加载了一个中等大小的输入,但输入和预处理时间在配置文件中占主导地位。
我如何只分析我关心的java应用程序的一部分?有没有办法说“只分析这两个类”,或者以编程方式插入“start profiling here”指令?
答案 0 :(得分:1)
您可以使用VisualVM来分析您的代码。我不知道只分析特定的类,但VisualVm可以开始观看已经运行的程序。此外,如果您正在使用Eclipse,那么当您从Eclipse启动时,有一个启动器可用于启动并将探查器附加到您的程序。
修改强>
我做了一些查找,Profiler选项卡有一个设置复选框。选择此选项后,它将显示一个文本框,您可以在其中设置有关CPU使用情况应分析的类的过滤器。
答案 1 :(得分:0)
我假设你有单元测试,你可以构建一个单元测试或应用程序,它只对您感兴趣的部分进行分析。通过这种方式,你可以单独调整它,因为它是唯一运行的东西。
答案 2 :(得分:0)
对于仅分析选定的类,大多数分析器允许设置过滤器,以便只检测几个类。
在您的情况下,听起来您还希望在调用特定方法时启动和停止分析。
在JProfiler中,您可以为所需方法添加方法触发器,并为触发器添加3个操作:
查看显示触发器配置方式的this screen cast。
免责声明:我公司开发JProfiler。