任何人都可以告诉我一种可以确定我编写的程序效率的方法,这种方式并非特定于特定计算机。例如,在i3上运行的一段代码可能需要1秒,但在i7上可能需要0.95秒。然后,如果再次测试程序,如果计算机只做了一点工作,则时间可能分别增加到1.0001和0.950003。我想要一种在所有拱门上以相同方式测量效率的方法。是(数学上,......)可能吗?
答案 0 :(得分:1)
我希望以一种在所有拱门上相同的方式衡量效率
您不会在同一台计算机上获得完全相同的数字,使用相同的代码和相同版本的Java以相同的CPU速度运行。
您不可能希望获得一个在不同版本的Java,CPU,速度,负载和操作系统之间具有相同结构的数字。
简而言之,您的问题在任何真机上都无法实现。只有理论上的一个是大O用于理论机器的原因(并且是从代码中导出的,而不是测量的)