python测试程序运行时间_python测试一段代码运行时间的优雅方法

python测试一段代码运行时间的优雅方法

文章目录

前言:

这个PER的全面整理,简直害死人,怎么这么多事儿?

需要补的知识点太多了啊~

为了要测试PER的时间消耗,都在哪儿,我要记录程序执行的过程中,关键语句的运行时间。

最简陋的方法其实很简单,三句话:

import time

...

st = time.time()

results = function(args)

cost = time.time()-st

但这个代码不适合大面积广泛使用,对于少数几个语句操作还好,凑活着看也行。

因此我刚开始想的是,能不能写个函数:

def cost_time(function, args):

st = time.time()

results = funtcion(args)

cost = time.time()-st

return results, cost

但是这个直接报错好吧,根本不能这么把函数当参数传入。

基于修饰器的时间计算:

import time

from functools import wraps

class Timeit:

def __init__(self, fn = None):

wraps(fn)(self)

def __call__(self, *args, **kwargs):

start = time.time()

ret = self.__wrapped__(*args, **kwargs)

cost = time.time() - start

return ret, cost

if __name__ == "__main__":

@Timeit

def add(x, y):

return x+y

r, cost = add(2, 3)

print("r:", r)

print("cost:", cost)

总结:

其实这个也没法用到per中,还不如直接用第一种朴实无华的操作,枯了

标签:__,python,self,args,优雅,代码运行,cost,time,def

来源: https://blog.csdn.net/hehedadaq/article/details/111741854

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值