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

您的位置:首頁技術文章
文章詳情頁

python 統計代碼耗時的幾種方法分享

瀏覽:116日期:2022-06-23 14:53:50
時間戳相減

在代碼執行前后各記錄一個時間點,兩個時間戳相減即程序運行耗時。

獲取時間戳time.time()

import timestart_time = time.time()sum = 0for i in range(100000000): sum += iprint(sum)end_time = time.time()print('耗時: {:.2f}秒'.format(end_time - start_time))輸出:4999999950000000耗時: 10.53秒

獲取當前日期 datetime.datetime.now()

import datetimestart_time = datetime.datetime.now()sum = 0for i in range(100000000): sum += iprint(sum)end_time = datetime.datetime.now()print('耗時: {}秒'.format(end_time - start_time))裝飾器

裝飾器是一個裝飾函數的函數,能夠在不改變函數源碼和函數調用方式的情況下給函數增加新的功能。很多時候統計函數的耗時,可以使用裝飾器實現。

import timedef get_time(f): def inner(*arg,**kwarg):s_time = time.time()res = f(*arg,**kwarg)e_time = time.time()print(’耗時:{}秒’.format(e_time - s_time))return res return inner@get_timedef test(): time.sleep(2) # 模擬運行2stest()輸出:耗時:2.000781536102295秒timeit模塊

timeit 模塊提供了測量 Python 小段代碼執行時間的方法,可以在命令行界面直接使用,也可以通過導入模塊進行調用。

語句執行 number 次的時間

#導入timeit.timeitfrom timeit import timeit#看x=1的執行一次的時間(number可以省略,缺省為1000000)t1 = timeit(’x=1’, number=1)print(t1)#一個列表生成器的執行時間,執行10000次:t2 = timeit(’[i for i in range(100) if i%2==0]’, number=10000)print(t2)輸出:4.0000000001150227e-070.04841430000000002

計算函數的執行時間

from timeit import timeitdef func(a): sum = 0 for i in range(a):sum += i return sum# timeit(函數名_字符串,運行環境_字符串,number=運行次數)t = timeit(’func(10000000)’, ’from __main__ import func’, number=1)print(t)輸出:0.4887406重復調用 timeit()

repeat() 方法相當于持續多次調用 timeit() 方法并將結果返回為一個列表。repeat 參數指定重復的次數,number 參數傳遞給 timeit() 方法的 number 參數。

import timeitdef func(a): sum = 0 for i in range(a):sum += i return sum# timeit(函數名_字符串,運行環境_字符串,number=運行次數,repeat=重復次數,repeat=5)t = timeit.repeat(’func(100000)’, ’from __main__ import func’, number=100, repeat=5)print(t)cProfile性能分析工具

cProfile(語言編寫的測試模塊)是一個標準庫內建的性能分析工具,可以在標準輸出中看到每一個函數被調用的次數和運行的時間,從而找到程序的性能瓶頸,從而有針對性的進行性能優化。

Python代碼性能分析之cProfile

import cProfiledef func(a): sum = 0 for i in range(a):sum += i return sumif __name__ == ’__main__’: cProfile.run('func(10000000)')

python 統計代碼耗時的幾種方法分享

以上就是python 統計代碼耗時的幾種方法分享的詳細內容,更多關于python 統計代碼耗時的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 不锈钢钢格栅板_热浸锌钢格板_镀锌钢格栅板_钢格栅盖板-格美瑞 | 铁素体测量仪/检测仪/铁素体含量测试仪-苏州圣光仪器有限公司 | 土壤养分检测仪|土壤水分|土壤紧实度测定仪|土壤墒情监测系统-土壤仪器网 | 薪动-人力资源公司-灵活用工薪资代发-费用结算-残保金优化-北京秒付科技有限公司 | 无尘烘箱_洁净烤箱_真空无氧烤箱_半导体烤箱_电子防潮柜-深圳市怡和兴机电 | 缠膜机|缠绕包装机|无纺布包装机-济南达伦特机械设备有限公司 | 二手回收公司_销毁处理公司_设备回收公司-找回收信息网 | China plate rolling machine manufacturer,cone rolling machine-Saint Fighter | 浙江美尔凯特智能厨卫股份有限公司| 济宁工业提升门|济宁电动防火门|济宁快速堆积门-济宁市统一电动门有限公司 | SOUNDWELL 编码器|电位器|旋转编码器|可调电位器|编码开关厂家-广东升威电子制品有限公司 | 无压烧结银_有压烧结银_导电银胶_导电油墨_导电胶-善仁(浙江)新材料 | 【直乐】河北石家庄脊柱侧弯医院_治疗椎间盘突出哪家医院好_骨科脊柱外科专业医院_治疗抽动症/关节病骨伤权威医院|排行-直乐矫形中医医院 | 扬州汇丰仪表有限公司| 清管器,管道清管器,聚氨酯发泡球,清管球 - 承德嘉拓设备 | 玻璃钢格栅盖板|玻璃钢盖板|玻璃钢格栅板|树篦子-长沙川皖玻璃钢制品有限公司 | 全自动包装秤_全自动上袋机_全自动套袋机_高位码垛机_全自动包装码垛系统生产线-三维汉界机器(山东)股份有限公司 | 不发火防静电金属骨料_无机磨石_水泥自流平_修补砂浆厂家「圣威特」 | 钢托盘,铁托盘,钢制托盘,镀锌托盘,饲料托盘,钢托盘制造商-南京飞天金属13260753852 | 中天寰创-内蒙古钢结构厂家|门式刚架|钢结构桁架|钢结构框架|包头钢结构煤棚 | 防勒索软件_数据防泄密_Trellix(原McAfee)核心代理商_Trellix(原Fireeye)售后-广州文智信息科技有限公司 | ISO9001认证咨询_iso9001企业认证代理机构_14001|18001|16949|50430认证-艾世欧认证网 | 过滤器_自清洗过滤器_气体过滤器_苏州华凯过滤技术有限公司 | 电缆接头-防爆电缆接头-格兰头-金属电缆接头-防爆填料函 | 防锈油-助焊剂-光学玻璃清洗剂-贝塔防锈油生产厂家 | 长江船运_国内海运_内贸船运_大件海运|运输_船舶运输价格_钢材船运_内河运输_风电甲板船_游艇运输_航运货代电话_上海交航船运 | 广州展览制作工厂—[优简]直营展台制作工厂_展会搭建资质齐全 | 水成膜泡沫灭火剂_氟蛋白泡沫液_河南新乡骏华消防科技厂家 | 多功能三相相位伏安表-变压器短路阻抗测试仪-上海妙定电气 | 便携式高压氧舱-微压氧舱-核生化洗消系统-公众洗消站-洗消帐篷-北京利盟救援 | 经济师考试_2025中级经济师报名时间_报名入口_考试时间_华课网校经济师培训网站 | 污水提升器,污水提升泵,地下室排水,增压泵,雨水泵,智能供排水控制器-上海智流泵业有限公司 | 防爆大气采样器-防爆粉尘采样器-金属粉尘及其化合物采样器-首页|盐城银河科技有限公司 | 120kv/2mA直流高压发生器-60kv/2mA-30kva/50kv工频耐压试验装置-旭明电工 | 南京雕塑制作厂家-不锈钢雕塑制作-玻璃钢雕塑制作-先登雕塑厂 | 二手注塑机回收_旧注塑机回收_二手注塑机买卖 - 大鑫二手注塑机 二手光谱仪维修-德国OBLF光谱仪|进口斯派克光谱仪-热电ARL光谱仪-意大利GNR光谱仪-永晖检测 | 华中线缆有限公司-电缆厂|电缆厂家|电线电缆厂家 | 伊卡洛斯软装首页-电动窗帘,别墅窗帘,定制窗帘,江浙沪1000+别墅窗帘案例 | 无锡装修装潢公司,口碑好的装饰装修公司-无锡索美装饰设计工程有限公司 | 米顿罗计量泵(科普)——韬铭机械 | 环氧铁红防锈漆_环氧漆_无溶剂环氧涂料_环氧防腐漆-华川涂料 |