我需要找出程序在不同输入下的总执行时间。该程序读取一些数据并将其写入另一个文件。数据值的值和数据的大小每次都不一样。
我想知道对于所有大小的数据一般需要多长时间。
找到它的算法是基于程序单次执行的总时间吗?
例如,如果我知道
for single execution
a.program - execution time 1.2sec
- its create file 100 kb file
我能否找出在不同数据大小下执行 n 次需要多长时间?
最佳答案
我不太明白你的问题,但我相信你问的是如何在运行程序之前计算出程序的执行时间。
这与 halting problem 有关.停机问题很棘手。
如果我误解了您的问题,我们深表歉意。
编辑:为了回应您的澄清,extrapolating 没有通用算法运行时用于较大的输入,运行时用于较小的输入。 Analysis of algorithms是非常棘手的事情。您可以使用启发式方法。例如,您可以计算不同“大小”(例如 10、100、1000、10000)的输入的运行时间,并尝试将曲线拟合到函数“大小”-> 运行时间。
关于perl - 一种估计程序运行时间的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1092771/