java - 测试某些代码的性能/效率的通用方法?

标签 java performance

任何人都可以告诉我一种方法,可以确定我编写的程序的效率,该程序不特定于特定计算机。例如,一段代码在 i3 上运行可能需要 1 秒,但在 i7 上可能需要 0.95 秒。然后,如果您再次测试该程序,如果计算机多做一点工作,时间可能会分别增加到 1.0001 和 0.950003。我想要一种在所有拱门上都相同的方式来衡量效率。这(从数学上来说,...)可能吗?

最佳答案

I want a way to measure efficiency in a way that would be the same on all archs

在同一台机器上,以相同的 CPU 速度运行、使用相同的代码和相同的 Java 版本,您不会得到完全相同的数字。

您不能指望得到一个跨架构、具有不同版本的 Java、CPU、速度、负载、操作系统的相同数字。

总之,你的问题在任何真机上都是不可能的。只有一个理论的,这就是为什么 big-O 是一个理论机器(并且是从代码中导出的,而不是测量的)

关于java - 测试某些代码的性能/效率的通用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18591438/

相关文章:

javascript - 在 Java 中使用 Mysql 和 servlet

java - 无法将空值分配给原始类型错误(Spring/Hibernate)

performance - Node API 占用 100% CPU,node-tick-processor 输出看起来很神秘

javascript - angularjs 指令缓慢的 dom 操作

java - 更改 ArrayList 中元素顺序的最快方法是什么?

java - 什么是 jvm 预分配异常?

java - 什么更好,使用 mysql "select from table where..."或将整个表移动到 Arraylist 并遍历它?

java - 使用JavaBeans的地方?

javascript - Object.observe() 如何影响性能?

java - java.rmi.Naming 和 java.rmi.registry.LocateRegistry 有什么区别