一种估算程序运行时的算法

joe*_*joe 1 algorithm perl process

我需要找到在不同输入上执行程序的总时间.程序读取一些数据并将其写入另一个文件.数据值和数据大小每次都不同.

我想知道对于所有大小的数据一般需要多长时间.

算法是否基于程序的总时序进行单次执行?

例如,如果我知道

for single execution 
a.program - execution time   1.2sec 
          - its create file  100 kb file 
Run Code Online (Sandbox Code Playgroud)

在不同的数据大小上,我可以找出n次执行需要多长时间?

jas*_*son 8

我不太明白你的问题,但我相信你所问的是如何在运行程序之前弄清楚程序的执行时间.

这与停止问题有关.停止问题是棘手的.

如果我误解你的问题,请道歉.

编辑:为了回应您的澄清,对于较小的输入,没有通用的算法来为运行时的较大输入外推运行时.分析算法是非常棘手的业务.您可以使用启发式方法.例如,您可以在不同"大小"(例如,10,100,1000,10000)的输入上计算运行时,并尝试将曲线拟合到函数"size" - >运行时.