首页 > 解决方案 > 我如何以纳秒为单位证明我的算法时间

问题描述

我的算法

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

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

标签: javaarraysalgorithmif-statementtime

解决方案


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

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

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


推荐阅读