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秒,然后将时间除以运行次数

否则,由于各种原因,计时将非常不准确:

  • 获得CPU的其他进程
  • 在后台运行的中断
  • 热效应
  • 宇宙辐射
  • 你明白了……;-)

  • 要计算方法的时间,请多次运行这些方法,直到累计时间至少10秒,然后将时间除以运行次数

    否则,由于各种原因,计时将非常不准确:

  • 获得CPU的其他进程
  • 在后台运行的中断
  • 热效应
  • 宇宙辐射
  • 你明白了……;-)
    因为CPU在不同的进程之间不断地进行调度,所以每次执行同一段代码时所用的时间都不同


    第一个函数通常会比较慢,因为print语句需要“相当多”的时间。

    因为CPU在不同的进程之间不断地进行调度,所以同一段代码每次执行都需要不同的时间


    第一个函数通常会比较慢,因为print语句需要“相当长的”时间。

    有一个模块可以完成这类工作。它多次运行您的代码(默认情况下为100万次),并报告该运行的统计数据。比尝试一次运行计时要准确得多,因为您的代码可能会遇到各种各样的问题。

    有一个模块可以精确地完成这类工作。它多次运行您的代码(默认情况下为100万次),并报告该运行的统计数据。比尝试一次运行计时要准确得多,因为您的代码可能会遇到各种各样的问题。

    您能告诉我原因吗?因为我只为一个简单的pow()函数计算时间,它只有一行,在unsigncryption部分发生同样的事情,但两个输出都不同。此外,签密和未签密的值变化很大,但每个签密/未签密部分中的值更接近。我从早上开始就一直在测试这些值n不走运:S:(你能告诉我原因吗,因为我只计算一个简单的pow()函数,它只有一行,在unsigncryption部分发生相同的事情,但两个输出仍然不同。此外,signcryption和unsigncryption的值变化很大,但每个signcryption/unsigncryption部分中的值更接近。我从早上开始一直在测试这些值n不走运:S:(我问了一个类似的问题,关于可能有用的Python语言。我问了一个类似的问题,关于可能有用的Python语言。