iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python计算函数执行时长的方法是什么
  • 956
分享到

python计算函数执行时长的方法是什么

2023-07-06 00:07:43 956人浏览 泡泡鱼

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

摘要

本篇内容主要讲解“python计算函数执行时长的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python计算函数执行时长的方法是什么”吧!python开发,有时需要做性能分析及性能优

本篇内容主要讲解“python计算函数执行时长的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习Python计算函数执行时长的方法是什么”吧!

python开发,有时需要做性能分析及性能优化,这时就需要记录一些耗时函数执行时间问题,然后针对函数逻辑进行优化

python3中一般都有哪些方法呢。

1、使用time.time()

这种方法较简单,但如果想更精确的计算函数的执行时间,会产生精度缺失,没办法统计时间极短的函数耗时。

import time  def func(): time.sleep(1)  t = time.time() func() print(f'耗时:{time.time() - t:.4f}s')  耗时:1.0050s

2、使用time.perf_counter()

perf_counter是在python3.3新添加的,返回性能计数器的值,返回值是浮点型,统计结果包括睡眠的时间,单个函数的返回值无意义,只有多次运行取差值的结果才是有效的函数执行时间。

import time def func(): print('hello world') t = time.perf_counter() func() print(f'耗时:{time.perf_counter() - t:.8f}s') hello world 耗时:0.00051790s

3、使用timeit.timeit ()

timeit()函数有5个参数: stmt 参数是需要执行的语句,默认为 pass setup 参数是用来执行初始化代码或构建环境的语句,默认为 pass timer 是计时器,默认是 perf_counter() number 是执行次数,默认为一百万 globals 用来指定要运行代码的命名空间,默认为 None  import timeit def func(): print('hello world') print(f'耗时: {timeit.timeit(stmt=func, number=1)}') hello world 耗时: 0.0007705999999999824

4、使用装饰器统计

在实际项目代码中,可以通过装饰器方便的统计函数运行耗时。使用装饰器来统计函数执行耗时的好处是对函数的入侵性小,易于编写和修改。

装饰器装饰函数的方案只适用于统计函数的运行耗时,如果有代码块耗时统计的需求就不能用了,这种情况下可以使用 with 语句自动管理上下文。

(1)同步函数的统计

import time  def coast_time(func): def fun(*args, **kwargs): t = time.perf_counter() result = func(*args, **kwargs) print(f'函数:{func.__name__} 耗时:{time.perf_counter() - t:.8f} s') return result return fun @coast_time def test(): print('hello world') if __name__ == '__main__': test()

(2)异步函数的统计

import asyncio import time from asyncio.coroutines import iscoroutinefunction def coast_time(func): def fun(*args, **kwargs): t = time.perf_counter() result = func(*args, **kwargs) print(f'函数:{func.__name__} 耗时:{time.perf_counter() - t:.8f} s') return result async def func_async(*args, **kwargs): t = time.perf_counter() result = await func(*args, **kwargs) print(f'函数:{func.__name__} 耗时:{time.perf_counter() - t:.8f} s') return result if iscoroutinefunction(func): return func_async else: return fun @coast_time def test(): print('hello test') time.sleep(1) @coast_time async def test_async(): print('hello test_async') await asyncio.sleep(1) if __name__ == '__main__': test() asyncio.get_event_loop().run_until_complete(test_async())  hello test 函数:test 耗时:1.00230700 s hello test_async 函数:test_async 耗时:1.00572550 s

5、with语句统计

通过实现 enter 和 exit 函数可以在进入和退出上下文时进行一些自定义动作,例如连接或断开数据库、打开或 关闭文件、记录开始或结束时间等,例如:我们用来统计函数块的执行时间。

with语句不仅可以统计代码块的执行时间,也可以统计函数的执行时间,还可以统计多个函数的执行时间之和,相比装饰器来说对代码的入侵性比较大,不易于修改,好处是使用起来比较灵活,不用写过多的重复代码。

import asyncio import time  class CoastTime(object): def __init__(self): self.t = 0 def __enter__(self): self.t = time.perf_counter() return self def __exit__(self, exc_type, exc_val, exc_tb): print(f'耗时:{time.perf_counter() - self.t:.8f} s') def test(): print('hello test') with CoastTime(): time.sleep(1) async def test_async(): print('hello test_async') with CoastTime(): await asyncio.sleep(1) if __name__ == '__main__': test() asyncio.get_event_loop().run_until_complete(test_async())hello test耗时:1.00723310 shello test_async耗时:1.00366820 s

到此,相信大家对“python计算函数执行时长的方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: python计算函数执行时长的方法是什么

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python计算函数执行时长的方法是什么
    本篇内容主要讲解“python计算函数执行时长的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python计算函数执行时长的方法是什么”吧!python开发,有时需要做性能分析及性能优...
    99+
    2023-07-06
  • Python执行时间的计算方法小结
    首先说一下我遇到的坑,生产上遇到的问题,我调度Python脚本执行并监控这个进程,python脚本运行时间远远大于python脚本中自己统计的程序执行时间。 监控python脚本执行的时间是36个小时,...
    99+
    2022-06-04
    执行时间 小结 计算方法
  • 几种Python执行时间的计算方法
    https://blog.csdn.net/wangshuang1631/article/details/54286551 ...
    99+
    2023-01-31
    执行时间 几种 计算方法
  • python计算平方根函数是什么
    python中使用sqrt函数计算平方根,具体方法如下:sqrt():sqrt()函数的作用是返回数字x的平方根。sqrt()函数语法:math.sqrt( x )sqrt()函数使用方法:import math #导入...
    99+
    2022-10-24
  • oracle执行计划的方法是什么
    本篇内容主要讲解“oracle执行计划的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“oracle执行计划的方法是什么”吧!先从最开头一直往右看,直到...
    99+
    2022-10-18
  • python脚本执行的方法是什么
    Python脚本可以通过以下几种方法来执行:1. 在命令行中执行:可以直接在命令行中输入"python 脚本文件.py"来执行脚本文...
    99+
    2023-10-19
    python
  • PHP定时执行任务的方法是什么
    PHP中实现定时执行任务的方法有以下几种:1. 使用cron job:在服务器上设置一个cron job,定时执行一个PHP脚本。可...
    99+
    2023-08-24
    PHP
  • 计算机中一个c程序的执行是从什么函数开始
    小编给大家分享一下计算机中一个c程序的执行是从什么函数开始,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一个c程序的执行是从本程序的main函数开始,到main函...
    99+
    2023-06-14
  • Python中的魔法函数与量子计算模拟实现的方法是什么
    这篇“Python中的魔法函数与量子计算模拟实现的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python中的魔...
    99+
    2023-07-05
  • JavaScript立即执行函数的用法是什么
    JavaScript立即执行函数的用法是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。       ...
    99+
    2023-06-22
  • excel计算隔天时间差的方法是什么
    要计算Excel中两个日期之间的隔天时间差,可以使用DATEDIF函数。DATEDIF函数的语法如下:DATEDIF(start_d...
    99+
    2023-10-07
    excel
  • mysql_query()函数执行失败的原因及解决方法是什么
    mysql_query()函数执行失败的原因和解决方法可能有以下几种:1. 连接数据库失败:如果连接数据库失败,可以检查数据库服务器...
    99+
    2023-08-08
    mysql_query()
  • Mysql中自定义函数的创建和执行方法是什么
    本文小编为大家详细介绍“Mysql中自定义函数的创建和执行方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Mysql中自定义函数的创建和执行方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢...
    99+
    2023-03-13
    mysql
  • 怎么用Python装饰器实现函数运行时间的计算
    这篇文章主要介绍“怎么用Python装饰器实现函数运行时间的计算”,在日常操作中,相信很多人在怎么用Python装饰器实现函数运行时间的计算问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python装饰...
    99+
    2023-06-29
  • Python遗传算法中适值函数的标定方法是什么
    这篇“Python遗传算法中适值函数的标定方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python遗传算法中适值...
    99+
    2023-06-03
  • Python中numpy数组的计算与转置的方法是什么
    本篇内容介绍了“Python中numpy数组的计算与转置的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、numpy数组与数的运...
    99+
    2023-06-21
  • Python函数的递归方法是什么
    本篇内容介绍了“Python函数的递归方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!函数调用自身的 编程技巧 称为递归。1.1、递...
    99+
    2023-06-22
  • python函数引用的方法是什么
    在Python中,函数引用可以通过以下几种方法来实现:1. 直接使用函数名作为引用:可以直接使用函数名来引用函数,例如:```pyt...
    99+
    2023-09-16
    python
  • Python函数调用的方法是什么
    本篇内容介绍了“Python函数调用的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.函数调用# 1.调用函数,需要知...
    99+
    2023-06-29
  • Python可执行文件反编译的方法是什么
    Python可执行文件是由Python解释器将源代码编译而成的字节码文件(.pyc或.pyc文件)。这些文件可以通过反编译工具进行反...
    99+
    2023-08-18
    Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作