任何人都可以告诉我一种方法,可以确定我编写的程序的效率,该程序不特定于特定计算机。例如,一段代码在 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/