电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

python 代碼運行時間獲取方式詳解

瀏覽:103日期:2022-07-10 18:45:19

我們知道為了提高代碼的運行速度,我們需要對書寫的python代碼進行性能測試,而代碼性能的高低的直接反饋是電腦運行代碼所需要的時間。這里將介紹四種常用的測試代碼運行速度的方法。

第一種:使用time模塊對代碼的運行時間進行統(tǒng)計,代碼如下:

import timeclass 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(秒)。當(dāng)然在python中還有許多的記錄時間的模塊,這里不做過多討論,均類似于time模塊,實現(xiàn)思路上一致,代碼實現(xiàn)上大同小異。

第二種:使用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'''

這個類定義是可以去掉的,并不會影響最終的結(jié)果,%time 后面加上想要計算時間的代碼,然后編譯器就會在運行后自動給出所測試代碼的運行時間,但是經(jīng)過測試,%time方法測出的時間并不準確,時間波動范圍非常大,這個是很好理解的,因為計算機每時每刻都在處理一些進程,也就是說計算機的運行狀態(tài)每時每刻都是不同的,所以在不同的時刻測試同一段代碼的運行時間也會得到不同的結(jié)果。

第三種:用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)'''

我們可以看到得到的結(jié)果是:每個循環(huán)8.53 ms±452 µs(平均±標準偏差,共運行7次,每個循環(huán)100個)%timeit相比于%time,%timeit會多次執(zhí)行測試代碼,并且會取它們運行時間的平均值,并且還會計算出它們的標準差,因此這種計算方法計算的結(jié)果相對于使用%time執(zhí)行測試代碼一次是比較準確的。

第四種:導(dǎo)入timeit模塊來計算代碼塊的執(zhí)行時間

import timeitclass 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'''

導(dǎo)入timeit模塊后使用timeit.timeit()來測試想要測試的代碼,并且代碼以string的形式進行輸入,并且需要設(shè)定number值,設(shè)定測試的該段代碼需要執(zhí)行的次數(shù),最終我們得到0.05363089999991644,單位是s(秒),與內(nèi)置魔法方法%timeit方法不同的是雖然也是多次計算,但是最終獲取的時間是n次執(zhí)行代碼所需的總時間而不是執(zhí)行一次的時間。

至此,代碼的運行速度測試方法的介紹暫時告一段落。(以后可能會進一步更新更加全面的),更多相關(guān)python 代碼運行時間 內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 石家庄装修设计_室内家装设计_别墅装饰装修公司-石家庄金舍装饰官网 | 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 河南橡胶接头厂家,河南波纹补偿器厂家,河南可曲挠橡胶软连接,河南套筒补偿器厂家-河南正大阀门 | PVC地板|PVC塑胶地板|PVC地板厂家|地板胶|防静电地板-无锡腾方装饰材料有限公司-咨询热线:4008-798-128 | 车牌识别道闸_停车场收费系统_人脸识别考勤机_速通门闸机_充电桩厂家_中全清茂官网 | 工业冷却塔维修厂家_方形不锈钢工业凉水塔维修改造方案-广东康明节能空调有限公司 | 讲师宝经纪-专业培训机构师资供应商_培训机构找讲师、培训师、讲师经纪就上讲师宝经纪 | 中空玻璃生产线,玻璃加工设备,全自动封胶线,铝条折弯机,双组份打胶机,丁基胶/卧式/立式全自动涂布机,玻璃设备-山东昌盛数控设备有限公司 | 立式硫化罐-劳保用品硫化罐-厂家直销-山东鑫泰鑫硫化罐厂家 | 专业的新乡振动筛厂家-振动筛品质保障-环保振动筛价格—新乡市德科筛分机械有限公司 | 鹤壁创新仪器公司-全自动量热仪,定硫仪,煤炭测硫仪,灰熔点测定仪,快速自动测氢仪,工业分析仪,煤质化验仪器 | 质检报告_CE认证_FCC认证_SRRC认证_PSE认证_第三方检测机构-深圳市环测威检测技术有限公司 | 【星耀裂变】_企微SCRM_任务宝_视频号分销裂变_企业微信裂变增长_私域流量_裂变营销 | 香蕉筛|直线|等厚|弧形|振动筛|香蕉筛厂家-洛阳隆中重工 | 江苏远邦专注皮带秤,高精度皮带秤,电子皮带秤研发生产 | 上海璟文空运首页_一级航空货运代理公司_机场快递当日达 | 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 郑州大巴车出租|中巴车租赁|旅游大巴租车|包车|郑州旅游大巴车租赁有限公司 | 自动检重秤-动态称重机-重量分选秤-苏州金钻称重设备系统开发有限公司 | QQ房产导航-免费收录优秀房地产网站_房地产信息网 | 汽车润滑油厂家-机油/润滑油代理-高性能机油-领驰慧润滑科技(河北)有限公司 | 复盛空压机配件-空气压缩机-复盛空压机(华北)总代理 | 深圳市宏康仪器科技有限公司-模拟高空低压试验箱-高温防爆试验箱-温控短路试验箱【官网】 | 防腐木批发价格_深圳_惠州_东莞防腐木厂家_森源(深圳)防腐木有限公司 | 北京遮阳网-防尘盖土网-盖土草坪-迷彩网-防尘网生产厂家-京兴科技 | 粘度计NDJ-5S,粘度计NDJ-8S,越平水分测定仪-上海右一仪器有限公司 | 移动机器人产业联盟官网| 专注提供国外机电设备及配件-工业控制领域一站式服务商-深圳市华联欧国际贸易有限公司 | 闭端端子|弹簧螺式接线头|防水接线头|插线式接线头|端子台|电源线扣+护线套|印刷电路板型端子台|金笔电子代理商-上海拓胜电气有限公司 | 黄石东方妇产医院_黄石妇科医院哪家好_黄石无痛人流医院 | 丝印油墨_水性油墨_环保油墨油漆厂家_37国际化工 | ◆大型吹塑加工|吹塑加工|吹塑代加工|吹塑加工厂|吹塑设备|滚塑加工|滚塑代加工-莱力奇塑业有限公司 | SF6环境监测系统-接地环流在线监测装置-瑟恩实业 | 高尔夫球杆_高尔夫果岭_高尔夫用品-深圳市新高品体育用品有限公司 | HYDAC过滤器,HYDAC滤芯,现货ATOS油泵,ATOS比例阀-东莞市广联自动化科技有限公司 | 北京京云律师事务所| 济南网站建设|济南建网站|济南网站建设公司【济南腾飞网络】【荐】 | 中山市派格家具有限公司【官网】 | 净水器代理,净水器招商,净水器加盟-FineSky德国法兹全屋净水 | 移动厕所租赁|移动卫生间|上海移动厕所租赁-家瑞租赁 | (中山|佛山|江门)环氧地坪漆,停车场地板漆,车库地板漆,聚氨酯地板漆-中山永旺地坪漆厂家 |