python中的计时函数未给出准确的结果
我已经开发了一个签密方案,我想测试模幂运算所花费的时间。我使用下面的代码进行签密部分python中的计时函数未给出准确的结果,python,timing,Python,Timing,我已经开发了一个签密方案,我想测试模幂运算所花费的时间。我使用下面的代码进行签密部分 start = time.clock() gamma = pow(g , x, p) print ('The value of gamma is : '),gamma Time_signcrypt = time.clock() - start 对于unsigncryption部分,我正在计算这行代码所花费的时间 start = time.clock() seed = (XA + x - XA) g
start = time.clock()
gamma = pow(g , x, p)
print ('The value of gamma is : '),gamma
Time_signcrypt = time.clock() - start
对于unsigncryption部分,我正在计算这行代码所花费的时间
start = time.clock()
seed = (XA + x - XA)
gamma_new = pow(g , seed, p)
Time_new_gamma = time.clock() - start
问题是使用相同的值,我从两个计时函数得到的结果是不同的
Signcryption values:
0.035299674
0.025940017
Unsigncryption values:
0.019342944
0.01727206
值应与两端使用相同参数应用的相同函数相同。另一个重要的事情是,在签密部分,一个步骤是额外的,但所花费的时间仍然少于签密部分。我不知道怎么回事我已经测试了将近35次,结果大部分时间都不一样:(
请告诉我哪里出错了?对于时间方法,请多次运行它们,直到累计时间至少10秒,然后将时间除以运行次数 否则,由于各种原因,计时将非常不准确:
要计算方法的时间,请多次运行这些方法,直到累计时间至少10秒,然后将时间除以运行次数 否则,由于各种原因,计时将非常不准确:
因为CPU在不同的进程之间不断地进行调度,所以每次执行同一段代码时所用的时间都不同
第一个函数通常会比较慢,因为print语句需要“相当多”的时间。因为CPU在不同的进程之间不断地进行调度,所以同一段代码每次执行都需要不同的时间
第一个函数通常会比较慢,因为print语句需要“相当长的”时间。有一个模块可以完成这类工作。它多次运行您的代码(默认情况下为100万次),并报告该运行的统计数据。比尝试一次运行计时要准确得多,因为您的代码可能会遇到各种各样的问题。有一个模块可以精确地完成这类工作。它多次运行您的代码(默认情况下为100万次),并报告该运行的统计数据。比尝试一次运行计时要准确得多,因为您的代码可能会遇到各种各样的问题。您能告诉我原因吗?因为我只为一个简单的pow()函数计算时间,它只有一行,在unsigncryption部分发生同样的事情,但两个输出都不同。此外,签密和未签密的值变化很大,但每个签密/未签密部分中的值更接近。我从早上开始就一直在测试这些值n不走运:S:(你能告诉我原因吗,因为我只计算一个简单的pow()函数,它只有一行,在unsigncryption部分发生相同的事情,但两个输出仍然不同。此外,signcryption和unsigncryption的值变化很大,但每个signcryption/unsigncryption部分中的值更接近。我从早上开始一直在测试这些值n不走运:S:(我问了一个类似的问题,关于可能有用的Python语言。我问了一个类似的问题,关于可能有用的Python语言。