System.currentTimeMillis执行时间

时间:2014-02-15 18:52:27

标签: java performance

我们正在使用一个通常在30-40毫秒时间内工作的Web服务。在Web服务中,我们调用System.currentTimeMills 38次,以计算该服务中各种方法所花费的时间。

我只是想知道从一个花费少于40毫秒的代码调用这个方法是否可行38次?与此方法相关的开销是多少?

2 个答案:

答案 0 :(得分:2)

是的,在此期间将其称为数十万次是完全可行的。它没有大量的开销 - 但它不是你应该要求的时间测量。请改用System.nanoTime(),专门用于精确测量已用时间,而不是告知当前的时间。

作为开销的粗略衡量标准,在我的笔记本电脑上,在JIT热身之后,拨打System.nanoTime()一百万次需要大约14毫秒。所以在40毫秒的过程中调用它38次并不是什么大问题(假设你的系统有相同的开销;它可能在很大程度上取决于硬件和操作系统)。

答案 1 :(得分:0)

只为您的特定情况制作基准 - 检查在没有时间测量的情况下运行需要多少。