java - System.currentTimeMillis 执行时间

标签 java performance

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

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

最佳答案

是的,在那个时期调用它数十万次是绝对可行的。它没有大量的开销 - 但无论如何它不是你应该要求的时间测量。使用System.nanoTime()相反,它是专门为精确测量经过的执行时间而设计的,而不是告诉当前的挂接时间。

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

关于java - System.currentTimeMillis 执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21802073/

相关文章:

java - 使用正则表达式提取一些模式

javascript - Firefox 重绘非常慢(5 秒)

java - hibernate 映射中的 2 级继承问题

java - 零阶乘递归返回 1

java - org.hibernate.ObjectNotFoundException : No row with the given identifier exists: Single table query

java - Solr 仅在子查询匹配时返回父文档

python - 使用 Cython 提高 Python 函数的性能

javascript - 为什么使用 jQuery 元素包装元素要快得多

linux - 为什么将文件系统类型从 XFS 更改为 JFS 会提高 mmap 文件写入性能?

python - 加速风险 war 游戏掷骰子模拟