You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在IntelliJ IDEA Ultimate中检测运行时间:能否用Profiler统计方法执行时长

当然可以,IntelliJ IDEA Ultimate 自带的 Profiler 完全支持统计单个方法的执行耗时,具体操作方式如下:

操作步骤

常规采样模式(推荐,对应用性能影响极小)

这种模式适合绝大多数分析场景,性能开销可以忽略,拿到的耗时数据误差在可接受范围内:

  • 打开目标项目,点击右上角运行配置旁的示波器样式的 Profile 按钮,以 Profile 模式启动项目
  • 主动触发目标方法的执行逻辑,确保方法运行足够多的次数(如果是单次调用也可以,不过调用次数越多统计结果越稳定)
  • 方法执行完成后,点击 Profiler 工具窗口的「停止捕获」按钮,等待分析报告生成
  • 在报告中切换到 Call Tree 视图或者火焰图视图,直接搜索目标方法的全限定名,就能看到该方法的总执行耗时、自执行耗时(扣除子方法调用的耗时)、调用次数、占总运行时间的占比等核心统计数据

插桩模式(适合短执行时间方法的高精度统计)

如果要统计的方法本身执行时间极短,采样模式可能无法抓取到足够的样本导致误差偏大,可以用插桩模式实现更高精度的统计:

  • 打开顶部菜单「运行」→「编辑配置」,找到你要启动的运行配置,切换到 Profiler 标签页
  • 勾选 Enable advanced profiling,在下方的类过滤规则中只指定你要统计的类和方法范围(不要全量开启插桩,否则会大幅拖慢项目启动和运行速度)
  • 保存配置后同样以 Profile 模式启动项目,触发方法执行后停止捕获,此时报告中的方法耗时数据精度会远高于采样模式

临时快速统计方案

如果只是需要临时验证单个方法的单次执行耗时,不需要完整的分析报告,可以用断点快速实现:

  • 在目标方法的第一行和最后一行分别打一个断点,右键断点取消勾选「挂起」,勾选「Evaluate and log」
  • 第一个断点的日志输入框填写 long start = System.nanoTime();,第二个断点填写 System.out.println("方法执行耗时:" + (System.nanoTime() - start) / 1000000 + "ms");
  • 正常启动项目触发方法执行,控制台就会直接打印该次方法的实际执行耗时

注意:采样模式的统计结果是近似值,适合快速定位性能瓶颈;插桩模式精度更高但性能开销大,建议仅在需要精准统计小方法耗时的时候使用。

内容的提问来源于stack exchange,提问作者EinNarr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 13:27:01