0

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

4

1 回答 1

1

我想要一种在所有拱门上都相同的方式来衡量效率的方法

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

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

简而言之,您的问题在任何真机上都是不可能的。只有一个理论上的,这就是为什么 big-O 用于理论机器(并且来自代码,而不是测量)

于 2013-09-03T12:08:36.323 回答