Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 一种估算程序运行时间的算法_Perl_Algorithm_Process - Fatal编程技术网

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

Perl 一种估算程序运行时间的算法,perl,algorithm,process,Perl,Algorithm,Process,我需要找到在不同输入上执行程序的总时间。程序读取一些数据并将其写入另一个文件。数据值的值和数据的大小每次都不同 我想知道对于所有大小的数据,通常需要多长时间 查找该值的算法是否基于单个执行程序的总计时 例如,如果我知道 for single execution a.program - execution time 1.2sec - its create file 100 kb file 我能找出在不同数据大小上执行n次需要多长时间吗?我不太理解你的问题,但我相信

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

我想知道对于所有大小的数据,通常需要多长时间

查找该值的算法是否基于单个执行程序的总计时

例如,如果我知道

for single execution 
a.program - execution time   1.2sec 
          - its create file  100 kb file 

我能找出在不同数据大小上执行n次需要多长时间吗?

我不太理解你的问题,但我相信你要问的是如何在运行程序之前计算出程序的执行时间

这是与环境有关的。停滞不前的问题是难以解决的

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


编辑:为了回应您的澄清,对于较大的输入,运行时没有通用的算法;对于较小的输入,运行时没有通用的算法。这是一件非常棘手的事情。你可以使用一些启发法。例如,您可以根据不同“大小”(例如,10、100、1000、10000)的输入计算运行时,并尝试将曲线拟合到函数“大小”->运行时。

我不太理解您的问题,但我相信您要问的是如何在运行程序之前计算出程序的执行时间

这是与环境有关的。停滞不前的问题是难以解决的

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


编辑:为了回应您的澄清,对于较大的输入,运行时没有通用的算法;对于较小的输入,运行时没有通用的算法。这是一件非常棘手的事情。你可以使用一些启发法。例如,您可以根据不同“大小”(例如,10、100、1000、10000)的输入计算运行时,并尝试将曲线拟合到函数“大小”->运行时。

1,停止问题是难以解决的,即即使您有数据和程序,也无法告诉(!在一般情况下!)运行它需要多长时间。 2、暂停问题中的“程序”是指完整状态,例如,您的程序+它处理的数据


所以它是两倍难处理的:)

1,停止问题是很难处理的,也就是说,即使您有数据和程序,也无法告诉(!在一般情况下!)运行它需要多长时间。 2、暂停问题中的“程序”是指完整状态,例如,您的程序+它处理的数据


因此,这是两个棘手的问题:)

这方面没有完美的算法,而且变化很大——第一次运行可能非常慢,但第二次运行会快得多,因为磁盘中的数据缓存在内存中


您可以使用各种输入来衡量您的程序,并尝试建立一个输入大小/复杂性与执行时间的比较模型,然后使用该模型的结果来估计执行时间。

这方面没有完美的算法,而且变化很大-第一次运行可能非常缓慢,但第二次运行会快得多,因为来自磁盘的数据缓存在内存中


您可以使用各种输入来衡量您的程序,并尝试建立一个输入大小/复杂性与执行时间的比较模型,然后使用该模型的结果来估计执行时间。

如果我理解正确,您希望了解一个进程执行所需的时间

如果是这种情况,则使用模块


使用此功能,您可以在不同的位置进行计时,并判断程序不同部分的计时。

如果我理解正确,您希望了解一个进程执行所需的时间

如果是这种情况,则使用模块


使用此选项,您可以在不同的位置进行计时,并判断程序不同部分的计时。

从问题中,我不确定您是否试图在运行此程序之前计算执行时间,或记录脚本运行所需的时间。如果你试图预先计算,我同意其他的答案说这是不可能的


如果要记录执行时间,只需向程序中添加2个全局日期变量,在执行开始时立即将当前日期和时间存储在一个变量中,然后在终止时将时间存储在第二个变量中。使用日期差函数可以为您提供经过的秒数(或所需的时间单位)。

从问题中,我不确定您是否试图在运行此程序之前计算执行时间,或记录脚本运行所需的时间。如果你试图预先计算,我同意其他的答案说这是不可能的


如果要记录执行时间,只需向程序中添加2个全局日期变量,在执行开始时立即将当前日期和时间存储在一个变量中,然后在终止时将时间存储在第二个变量中。使用日期差函数可以给你所经过的秒数(或你想要的时间单位)。

很难确定,但我认为这不是停车问题的一个版本。(或者,至少可以将其简化,使其不受影响)

我想,你只是想估算一下一系列的读写操作需要多长时间……但是读写量是不同的

最简单的方法是进行一些经验测量(越多越好),并使用这些测量来估计未来运行所需的时间。如果您发现读取10 MB数据需要10秒,那么您可以估计100 MB可能需要大约100秒。(当然,这是假设您正在研究一个O(n)算法……如果不是,您必须进行相应的调整。)

当然,这很容易出错,因为系统上发生了其他任何事情……但是,根据您的需要,它可能会给您提供足够好的估计

当然,如果你能upda