gpt4 book ai didi

java - 计算 Java 函数的 CPU 周期

转载 作者:行者123 更新时间:2023-12-02 03:03:50 29 4
gpt4 key购买 nike

我想知道如何计算 Java 或 Python 中函数的 CPU 周期。

我在 Java 中尝试过:

(OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean(); osbean.getProcessCpuTime();

但没有结果。

最佳答案

在Python中,

use timeit.default_timer(); 它使用适合您平台的最准确选项。在 Ubuntu 中,这将使用 time.time() 代替。

timeit.default_timer()以特定于平台的方式定义默认计时器。在 Windows 上,time.clock() 的粒度为微秒,但 time.time() 的粒度为 1/60th 秒。在 Unix 上,time.clock() 的粒度为 1/100 秒,并且 time.time() 更加精确。在任一平台上,default_timer() 测量挂钟时间,而不是 CPU 时间。这意味着同一台计算机上运行的其他进程可能会干扰计时。

在JAVA中,

  1. System.currentTimeMillis() 只会测量 wall-clock time ,而不是 CPU 时间。
  2. 如果您需要挂钟时间,则 System.nanoTime() 通常比 currentTimeMillis() 更精确(而且绝不会更差)。
  3. ThreadMXBean.getThreadCPUTime() 可以帮助您了解给定线程使用了多少 CPU 时间。使用 ManagementFactory.getThreadMXBean() 获取 ThreadMXBean,并使用 Thread.getId() 查找您感兴趣的线程的 id。请注意,不需要每个 JVM 都支持此方法!

关于java - 计算 Java 函数的 CPU 周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42039530/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com