【发布时间】:2016-01-20 21:54:06
【问题描述】:
我使用以下代码来评估我的方法/操作的性能-
问题:由于这涉及到代码,是否应该将其从生产代码中删除以防止降低应用性能。
在我们的一次讨论中,有人指出 Linux(时区)上的一些 Time 调用会执行 IO 来查找 /etc 中的文件。这导致性能评估的加载系统非常缓慢。
long startTime = System.nanoTime();
... <code> ....
long estimatedTime = System. nanoTime () - startTime;
double timeInSeconds = estimatedTime / 1E9;
print ("Estimated_Time =>" + estimatedTime +
":nano seconds " + timeInSeconds + ":seconds");
【问题讨论】:
-
配置文件并检查在 nanoTime 中花费了多少时间 - 一次调用通常需要 15-30 ns,这并不多,但如果每次调用方法时都这样做可能会很麻烦...
-
基于其他cmets,很明显有一个预击,所以我想应该抑制它。只有让我发布这个问题的问题是——如果我们需要在部署代码时调试执行时间怎么办。通过打开跟踪,我们可以看到执行时间,但如果它被抑制,则永远无法分析!
-
仪器可能是更好的选择。
标签: java performance time