我们正在使用一个通常在30-40毫秒时间内工作的Web服务。在Web服务中,我们调用System.currentTimeMills 38次,以计算该服务中各种方法所花费的时间。
我只是想知道从一个花费少于40毫秒的代码调用这个方法是否可行38次?与此方法相关的开销是多少?
答案 0 :(得分:2)
是的,在此期间将其称为数十万次是完全可行的。它没有大量的开销 - 但它不是你应该要求的时间测量。请改用System.nanoTime()
,专门用于精确测量已用时间,而不是告知当前的时间。
作为开销的粗略衡量标准,在我的笔记本电脑上,在JIT热身之后,拨打System.nanoTime()
一百万次需要大约14毫秒。所以在40毫秒的过程中调用它38次并不是什么大问题(假设你的系统有相同的开销;它可能在很大程度上取决于硬件和操作系统)。
答案 1 :(得分:0)
只为您的特定情况制作基准 - 检查在没有时间测量的情况下运行需要多少。