Java System.currentTimeMills执行时间

Java System.currentTimeMills执行时间,java,performance,Java,Performance,我们正在使用一个通常在30-40毫秒时间内工作的web服务。在该web服务中,我们调用System.currentTimeMills 38次,以计算该服务中各种方法所用的时间 我只是想知道,用不到40毫秒的代码调用这个方法38次以上是否可行??与此方法相关的开销是多少?是的,在这段时间内调用它数十万次是绝对可行的。它并没有太多的开销,但无论如何,这不是你应该要求的时间度量。请改用它,它是专门为精确测量运行时间而设计的,而不是告诉您当前的墙时间 作为开销的粗略衡量,在我的笔记本电脑上,在JIT预热

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


我只是想知道,用不到40毫秒的代码调用这个方法38次以上是否可行??与此方法相关的开销是多少?

是的,在这段时间内调用它数十万次是绝对可行的。它并没有太多的开销,但无论如何,这不是你应该要求的时间度量。请改用它,它是专门为精确测量运行时间而设计的,而不是告诉您当前的墙时间


作为开销的粗略衡量,在我的笔记本电脑上,在JIT预热之后,调用
System.nanoTime()
100万次大约需要14毫秒。因此,在40毫秒内调用它38次不会有太大问题(假设您的系统具有相同的开销;它可能在很大程度上取决于硬件和操作系统)。

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