使用time.clock()和time.time()为Python程序计时



我是Python编程新手。我今天早上开始做Project Euler,我想知道执行我的解决方案需要多长时间。我在网上搜索了一个解决我的

的方法。
import time
class Solution(object):
    def fibonacci(self,limit):
        sum = 0
        current = 1
        next = 2
        while(current <= limit):
            if  current % 2==0:
                sum += current
            current, next = next, current + next
        return  str(sum)
if __name__ == "__main__":
    start = time.clock()
    solution = Solution().fibonacci(4000000)
    elapsed = time.clock()-start
    print("Solution: %s"%(solution))
    print("Time: %s seconds"%(elapsed))


输出:解决方案:4613732
时间:2.006085436846098e-05秒


import time
class Solution(object):
    def fibonacci(self,limit):
        sum = 0
        current = 1
        next = 2
        while(current <= limit):
            if  current % 2==0:
                sum += current
            current, next = next, current + next
        return  str(sum)
if __name__ == "__main__":
    start = time.time()
    solution = Solution().fibonacci(4000000)
    elapsed = time.time()-start
    print("Solution: %s"%(solution))
    print("Time: %s seconds"%(elapsed))


输出:解决方案:4613732
时间:0.0秒


我的问题是

  1. 以上计算的时间正确吗?
  2. time.time()和time.clock()有什么区别?如果我使用time.time(),我得到0.0作为时间。

在Python time模块中,time.clock()以秒为单位测量自函数第一次调用以来的时间,time.time()以秒为单位测量自1970年1月1日以来的时间。

time.clock()通常更精确,所以我推荐使用它。这就是为什么在第一个示例中结果很小,在第二个示例中四舍五入为零的原因。

相关内容

  • 没有找到相关文章

最新更新