【问题标题】:How do you calculate program run time in python? [duplicate]你如何计算python中的程序运行时间? [复制]
【发布时间】:2011-08-03 03:19:45
【问题描述】:

在python中如何计算程序运行时间?

【问题讨论】:

标签: python time runtime


【解决方案1】:

您可能想看看timeit 模块:

http://docs.python.org/library/timeit.html

profile 模块:

http://docs.python.org/library/profile.html

这里还有一些不错的教程:

http://www.doughellmann.com/PyMOTW/profile/index.html

http://www.doughellmann.com/PyMOTW/timeit/index.html

time 模块也可能派上用场,尽管我更喜欢后面两个关于基准测试和分析代码性能的建议:

http://docs.python.org/library/time.html

【讨论】:

  • 谢谢!这很好用。对于可能第一次使用 timeit 的其他人,请注意,您需要通过 timeit 的设置参数导入本地定义的符号。例如(如果 myOwnFunc 是本地定义的并且您想要计时):print timeit.timeit('myOwnFunc()', setup='from __main__ import myOwnFunc', number=1)。如果没有设置参数,它会抱怨找不到 myOwnFunc。
【解决方案2】:

【讨论】:

    【解决方案3】:

    @JoshAdel 涵盖了很多内容,但如果您只想为整个脚本的执行计时,您可以在类似 unix 的系统上以time 运行它。

    kotai:~ chmullig$ cat sleep.py 
    import time
    
    print "presleep"
    time.sleep(10)
    print "post sleep"
    kotai:~ chmullig$ python sleep.py 
    presleep
    post sleep
    kotai:~ chmullig$ time python sleep.py 
    presleep
    post sleep
    
    real    0m10.035s
    user    0m0.017s
    sys 0m0.016s
    kotai:~ chmullig$ 
    

    【讨论】:

      【解决方案4】:

      快速替代

      import timeit
      
      start = timeit.default_timer()
      
      #Your statements here
      
      stop = timeit.default_timer()
      
      print('Time: ', stop - start)  
      

      【讨论】:

      【解决方案5】:

      我不知道这是否是一个更快的选择,但我有另一个解决方案 -

      from datetime import datetime
      start=datetime.now()
      
      #Statements
      
      print datetime.now()-start
      

      【讨论】:

      • 我的最爱!很简单,但我发现最后一行应该是 'print(datetime.now()-start)' 并且没有括号就不能工作。
      • @ThomasWinckelman:当时我写答案时牢记 Python 2。
      猜你喜欢
      • 2021-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多