Python运行速度的测试方法有几种
Admin 2022-12-12 群英技术资讯 1199 次浏览
这里将介绍四种常用的测试代码运行速度的方法。
使用time模块对代码的运行时间进行统计,代码如下:
import time class Debug: def mainProgram(self): start_time = time.time() for i in range(100): print(i) end_time = time.time() print(f"the running time is: {end_time - start_time} s") if __name__ == "__main__": main = Debug() main.mainProgram()
我们采用time 模块给所要测试的代码的前后加上时间戳,一个记为start_time,一个记作end_time,最后代码块的运行时间为end_time-start_time,单位为s(秒)。
当然在python中还有许多的记录时间的模块,这里不做过多讨论,均类似于time模块,实现思路上一致,代码实现上大同小异。
使用IPython的Built-in magic commands,%time,代码如下:
class Debug: def mainProgram(self): %time for i in range(100): print(i) main = Debug() main.mainProgram() """ Wall time: 1.99 ms """
这个类定义是可以去掉的,并不会影响最终的结果,%time 后面加上想要计算时间的代码,然后编译器就会在运行后自动给出所测试代码的运行时间,但是经过测试,%time方法测出的时间并不准确,时间波动范围非常大,这个是很好理解的,因为计算机每时每刻都在处理一些进程,也就是说计算机的运行状态每时每刻都是不同的,所以在不同的时刻测试同一段代码的运行时间也会得到不同的结果。
用IPython的另一个Built-in magic commands,%timeit,使用方法类似于%time,代码如下:
class Debug: def mainProgram(self): %timeit for i in range(100): print(i) main = Debug() main.mainProgram() """ 8.53 ms ± 452 µs per loop (mean ± std. dev. of 7 runs, 100 loops each) """
我们可以看到得到的结果是:每个循环8.53 ms±452 µs(平均±标准偏差,共运行7次,每个循环100个)%timeit相比于%time,%timeit会多次执行测试代码,并且会取它们运行时间的平均值,并且还会计算出它们的标准差,因此这种计算方法计算的结果相对于使用%time执行测试代码一次是比较准确的。
导入timeit模块来计算代码块的执行时间
import timeit class Debug: def mainProgram(self): result = timeit.timeit(stmt="for i in range(100): print(i)", number=10) print(result) main = Debug() main.mainProgram() """ 0.05363089999991644 s """
导入timeit模块后使用timeit.timeit()来测试想要测试的代码,并且代码以string的形式进行输入,并且需要设定number值,设定测试的该段代码需要执行的次数,最终我们得到0.05363089999991644,单位是s(秒),与内置魔法方法%timeit方法不同的是虽然也是多次计算,但是最终获取的时间是n次执行代码所需的总时间而不是执行一次的时间。
至此,代码的运行速度测试方法的介绍暂时告一段落。
当然,还有一种进阶操作可以用来测试脚本文件的性能,python 脚本性能分析(超链接点击跳转)。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
pycharm如何查看变量值,都有什么方法?一些朋友可能会遇到这方面的问题,对此在下文小编向大家来讲解一下,内容详细,易于理解,希望大家阅读完这篇能有收获哦,有需要的朋友就往下看吧!
有时候我们的证件照需要换底色,又来不及去照相馆拍照,用ps也不好抠图,所以今天给你们分享一下如何用python来抠图,并换底色
本文实例为大家分享了Python实现仓库管理系统的具体代码,供大家参考,具体内容如下注意:在Linux环境运行代码#!/usr/bin/env python# -*- coding:utf-8 -*-# @FileName :store
这篇文章主要介绍了python3 requests 各种发送方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
Python内置函数-globals() 函数。globals() 函数会以字典类型返回当前位置的全部全局变量。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008