java - 我如何以纳秒为单位证明我的算法时间
问题描述
您好,我想知道如何证明执行此算法所花费的时间是合理的
我对这个算法的提议是:150+180N(是F[]的长度)
解决方案
使用工具进行微基准测试。 https://openjdk.java.net/projects/code-tools/jmh/是他们编写 JMH(Java 微基准测试工具)的项目页面。
您可以通过各种方式将此工具集成到各种项目中。此处详细介绍了一种方法(如果您使用的是 Apache 的 Maven)https://www.baeldung.com/java-microbenchmark-harness
不要尝试构建自己的代码来捕获时间。JVM 的时序不是稳定的、简单的或一致的;除非您想了解并考虑预热、JIT、内联、permgen 和许多 JVM 内部结构,否则您构建的任何工具都可能报告不正确的信息。
推荐阅读
- javascript - 浏览 Jest 文档,我看到了这行代码
- python - AWS EC2 Python ModuleNotFoundError
- javascript - Vue 组合 API 使用 VueAxios?
- python - 从 seaborn 的 catplot 中删除科学记数法
- python - “在查询期间丢失与 MySQL 服务器的连接”与 venv
- excel - VBA 代码始终只复制带有选定单元格的最后一行
- material-ui - 如何处理 Material UI Data Grid 组件中的状态
- php - PHP致命错误:允许1610612736字节作曲家更新的内存大小
- java - 配置mybatis跳过SQL脚本中/*...*/样式注释引起的JDBC失败
- ios - CollectionView 子视图未显示