ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

编码过程中检测 python 执行时间的几种方式

2021-07-02 15:01:30  阅读:157  来源: 互联网

标签:__ 编码 timeit python 几种 time print 执行


众所周知,python 的执行效率一直是大家所关心的问题,这篇文章将着重介绍一下 python 在执行过程中的执行时间的几种方式。

1,编码过程中使用传统方式统计执行时间

  •  
import timedef dataQuery():    startTime = time.time()    print("程序开始时时间 : " +str(startTime))    for i in range(20001):        print("第 " + str(i) + " 次查找")        if i > 20000:            break    endTime = time.time()    print("程序结束时时间 : " +str(endTime))    print("运行时间 : " + str((endTime -startTime)))

2,使用 timeit 模块提供的方法统计执行时间

  •  
import timeitdef dataAdd():  rec = 0  for i in range(20001):    rec = rec + iif __name__ == '__main__':  # Timer() 方法第一个参数表示需要执行的函数,第二个参数表示从哪个模块导入函数  res = timeit.Timer('dataAdd()',"from test_main import dataAdd")  # res.timeit(1000) 表示执行 1000 次  print(res.timeit(1000))

 

3,使用 %timeit 方法统计 python 语句执行的时间,切记:这种方法一般使用在 Ipython 的交互式命令行中。

  •  
PS C:\Users\Administrator> ipythonPython 3.8.7 (tags/v3.8.7:6503f05, Dec 21 2020, 17:59:51) [MSC v.1928 64 bit (AMD64)]Type 'copyright', 'credits' or 'license' for more informationIPython 7.19.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: %timeit -n 1 print("success")successsuccesssuccesssuccesssuccesssuccesssuccess145 µs ± 75.8 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)

%timeit 函数可以通过 -n 设置运行次数,而在每一次过程中又会执行 7 次。

4,使用 %time 方法统计语句执行时间,和 %timeit 不同的是:%timeit 可以执行多次,而 %time 执行一次。

  •  
PS C:\Users\Administrator> ipythonPython 3.8.7 (tags/v3.8.7:6503f05, Dec 21 2020, 17:59:51) [MSC v.1928 64 bit (AMD64)]Type 'copyright', 'credits' or 'license' for more informationIPython 7.19.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: %time print("success")successWall time: 0 ns

 最后,日常编程思路的来源都是平时基础的累计.

标签:__,编码,timeit,python,几种,time,print,执行
来源: https://blog.51cto.com/u_14128936/2970311

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有