返回顶部
首页 > 资讯 > 后端开发 > Python >python 统计代码耗时的几种方法分享
  • 261
分享到

python 统计代码耗时的几种方法分享

2024-04-02 19:04:59 261人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录时间戳相减 装饰器 timeit模块 重复调用 timeit()cProfile性能分析工具 时间戳相减 在代码执行前后各记录一个时间点,两个时间戳相减即程序运行耗时。 获取时

时间戳相减

在代码执行前后各记录一个时间点,两个时间戳相减即程序运行耗时。

获取时间戳time.time()


import time

start_time = time.time()
sum = 0
for i in range(100000000):
    sum += i
print(sum)

end_time = time.time()
print("耗时: {:.2f}秒".fORMat(end_time - start_time))

输出:
4999999950000000
耗时: 10.53秒

获取当前日期 datetime.datetime.now()


import datetime

start_time = datetime.datetime.now()
sum = 0
for i in range(100000000):
    sum += i
print(sum)

end_time = datetime.datetime.now()
print("耗时: {}秒".format(end_time - start_time))

装饰器

装饰器是一个装饰函数的函数,能够在不改变函数源码和函数调用方式的情况下给函数增加新的功能。很多时候统计函数的耗时,可以使用装饰器实现。


import time

def 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_time
def test():
    time.sleep(2)  # 模拟运行2s

test()

输出:
耗时:2.000781536102295秒

timeit模块

timeit 模块提供了测量 python 小段代码执行时间的方法,可以在命令行界面直接使用,也可以通过导入模块进行调用。

语句执行 number 次的时间


#导入timeit.timeit
from 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-07
0.04841430000000002

计算函数的执行时间


from timeit import timeit
def 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 timeit
def 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 cProfile
def func(a):
    sum = 0
    for i in range(a):
        sum += i
    return sum
if __name__ == '__main__':
    cProfile.run("func(10000000)")

以上就是python 统计代码耗时的几种方法分享的详细内容,更多关于python 统计代码耗时的资料请关注编程网其它相关文章!

--结束END--

本文标题: python 统计代码耗时的几种方法分享

本文链接: https://lsjlt.com/news/122823.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python 统计代码耗时的几种方法分享
    目录时间戳相减 装饰器 timeit模块 重复调用 timeit()cProfile性能分析工具 时间戳相减 在代码执行前后各记录一个时间点,两个时间戳相减即程序运行耗时。 获取时...
    99+
    2024-04-02
  • python统计代码耗时的方法有哪些
    这篇文章将为大家详细讲解有关python统计代码耗时的方法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。时间戳相减在代码执行前后各记录一个时间点,两个时间戳相减即程序运行耗时。获取时间戳time.t...
    99+
    2023-06-14
  • python代码的几种常见加密方式分享
    目录1.发行.pyc文件1.1 编译加密1.2 是否可逆1.3是否影响模块调用2.代码混淆3.生成exe可执行文件4…py文件转化为.so文件5.附加运行辅助包文件方式...
    99+
    2024-04-02
  • 使用Python统计代码运行时间的两种方法
    目录前言方法1(推荐):通过代码统计步骤补充完整示例方法2:通过Pycharm编辑器总结前言 Python代码想统计运行时间有很多种方法,这里介绍比较常用的2种方法。方法1,通过代码...
    99+
    2022-12-23
    python代码运行时间 python统计代码运行时间
  • Python获取代码运行时间的几种方法
    Python获取代码运行时间的几种方法1、方法一:#python 的标准库手册推荐在任何情况下尽量使用time.clock().#只计算了程序运行CPU的时间,返回值是浮点数import timestart =time.clock()#中...
    99+
    2023-01-31
    几种方法 代码 时间
  • 【python】代码换行的几种方法
    代码太长怎么办,反斜杠\引号""" ‘’'来帮忙! 在写list或者较长的字符串时候,或者多个循环造成IDE不够用时,就需要代码换行了。主要的代码换行有通用的反斜杠\和针对字符串起作用的三引号结构。 1.反斜杠 对于一般表达式...
    99+
    2023-01-31
    换行 几种方法 代码
  • 分享几种python变量合并方法
    目录一、list 合并二、str 合并三、dict 合并一、list 合并 第一种方法: a =[91,95,97,99] b =[92,93,96,98] c = a+b  # 合...
    99+
    2024-04-02
  • Python列表删除的三种方法代码分享
    1、使用del语句删除元素 >>> i1 = ["a",'b','c','d'] >>> del i1[0] >>> print(i1) ['b...
    99+
    2022-06-04
    三种 代码 方法
  • 几种Python执行时间的计算方法
    https://blog.csdn.net/wangshuang1631/article/details/54286551 ...
    99+
    2023-01-31
    执行时间 几种 计算方法
  • Java统计代码的执行时间的N种方法
    目录方法一:System.currentTimeMillis方法二:System.nanoTime方法三:new Date方法四:Spring StopWatch方法五:common...
    99+
    2024-04-02
  • Python统计词频的几种方法小结
    目录方法一:运用集合去重方法方法二:运用字典统计方法三:使用计数器本文介绍python统计词频的几种方法,供大家参考 方法一:运用集合去重方法 def word_count1(wo...
    99+
    2023-03-01
    Python统计词频 Python 文本词频统计
  • 几种实用的HTML5代码生成器分享
    这篇文章主要介绍“几种实用的HTML5代码生成器分享”,在日常操作中,相信很多人在几种实用的HTML5代码生成器分享问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”几种实用的H...
    99+
    2024-04-02
  • python 下载文件的几种方式分享
    目录1 、一般同步下载2、 使用流式请求,requests.get方法的stream3 、异步下载文件4、 异步拆分下载文件5、注意1 、一般同步下载 示例代码: import...
    99+
    2024-04-02
  • 分享Python获取本机IP地址的几种方法
    目录1、使用专用网站2、使用自带socket库3、使用第三方netifaces库1、使用专用网站 获取的是公网IP 网址:http://myip.ipip.net 代码: impor...
    99+
    2024-04-02
  • 分享JavaScript 类型判断的几种方法
    目录一、JavaScript 基本类型1、原始数据类型2、引用数据类型3、两种数据类型的存储方式二、Javascript 数据类型判断的几种方法1、typeof2、instanceo...
    99+
    2024-04-02
  • css清除浮动的几种方法分享
    本篇内容主要讲解“css清除浮动的几种方法分享”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css清除浮动的几种方法分享”吧!加入一个空的同类元素,然后设置元素css属性  ...
    99+
    2023-06-08
  • python运行时间的几种方法
    最早见过手写的,类似于下面这种: import datetime def time_1(): begin = datetime.datetime.now() sum = 0 for i ...
    99+
    2022-06-04
    几种方法 时间 python
  • PHP技巧分享:HTML代码中的三种嵌入方法
    PHP技巧分享:HTML代码中的三种嵌入方法 在Web开发中,PHP经常被用来动态生成HTML代码。本文将介绍三种在HTML中嵌入PHP代码的方法,并提供具体的代码示例。 方法一:在H...
    99+
    2024-03-05
    html php 嵌入
  • 详解CocosCreator中几种计时器的使用方法
    一、setTimeOut 3秒后打印abc。只执行一次。 setTimeout(()=>{console.log("abc"); }, 3000); 删除计时器,3秒后不...
    99+
    2024-04-02
  • Python几种绘制时间线图的方法
    目录Matplotlib 制作Plotly 绘制Excel 绘制Matplotlib 制作 Matplotlib 作为 Python 家族最为重要的可视化工具,其基本的 API 以及...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作