加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python如何memoize方法

发布时间:2020-12-20 12:39:53 所属栏目:Python 来源:网络整理
导读:假设我是一个从给定参数创建字典的方法: def newDict(a,b,c,d): # in reality this method is a bit more complex,I've just shortened for the sake of simplicity return { "x": a,"y": b,"z": c,"t": d } 我有另一种方法,每次执行时调用newDict方法.因此
假设我是一个从给定参数创建字典的方法:

def newDict(a,b,c,d): # in reality this method is a bit more complex,I've just shortened for the sake of simplicity
    return { "x": a,"y": b,"z": c,"t": d }

我有另一种方法,每次执行时调用newDict方法.因此,最后,当我看到我的cProfiler时,我看到这样的事情:

17874 calls (17868 primitive) 0.076 CPU seconds

当然,我的newDict方法被称为1785次.现在,我的问题是我是否可以记住newDict方法以减少通话时间? (只是为了确保,变量几乎在每个调用中都会发生变化,但我不确定它是否对记忆函数有影响)

子问题:我认为17k调用太多,代码效率不高.但是,通过查看统计数据,您还可以说明这是正常结果还是我有太多的电话而代码很慢?

解决方法

>你的意思是memoize不记忆. >如果值几乎总是不同的,那么记忆将无济于事,它会减慢速度. >如果没有看到你的完整代码,并且知道它应该做什么,我们怎么知道17k的通话是很多还是小的?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读