【问题标题】:How i can justifiate the time of my algorithm in nanosecond [closed]我如何以纳秒为单位证明我的算法时间[关闭]
【发布时间】:2019-07-19 00:44:18
【问题描述】:

您好,我想知道如何证明执行此算法所花费的时间是合理的

我对这个算法的命题是:150+180N(是F[]的长度)

【问题讨论】:

  • System.nanoTime(); 方法?
  • 您可以对代码进行基准测试,然后计算所有运行的平均时间。 (那段代码是用漫画 sans 写的吗?twitches
  • 哈尔是谁?
  • 如果没有看到图片中问题所指的带有常量的表格,这个问题可能无法回答。也请在以后将文本发布为纯文本而不是图片。

标签: java arrays algorithm if-statement time


【解决方案1】:

使用微基准测试工具。 https://openjdk.java.net/projects/code-tools/jmh/ 是他们编写 JMH 的项目页面,这是一个 Java 微基准测试工具。

您可以通过各种方式将此工具集成到各种项目中。一种方法(如果您使用的是 Apache 的 Maven)在此处详细介绍 https://www.baeldung.com/java-microbenchmark-harness

不要尝试构建您自己的代码来捕获时间。 JVM 的时序不是稳定的、简单的或一致的;除非您想了解并考虑预热、JIT、内联、permgen 和许多 JVM 内部,否则您构建的任何工具都可能报告不正确的信息。

【讨论】:

    猜你喜欢
    • 2015-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-16
    • 2017-06-28
    • 2019-01-09
    • 1970-01-01
    相关资源
    最近更新 更多