Python 的lru_cache装饰器使用简介
Python 的 lru_cache 装饰器是一个为自定义函数提供缓存功能的装饰器。从输出结果中可以看出,存在着严重的重复计算情况,比如 fibonacci 就被计算了 5 次之多。这还只是计算 6 次的 fibonacci 函数。2 优化上面的示例代码加入 lru_cache 装饰器:运行结果:这次不存在重复计算现象,因此性能得到极大的提升。3 比较利用 cProfile 进行性能比较分析。它是一种确定性分析器,只测量 CPU 时间,并不包含内存消耗和其他与内存相关联的信息2。假设我们需要计算 fibonacci 求和值。不使用 lru_cache 装饰器这个递归函数内部总共调用了 1000 多万次的 fibonacci() 函数!利用 cache_info() 函数,我们还可以看到命中次数 hits,未命中次数 misses ,最大缓存数量 maxsize 和 当前缓存大小 currsize。
下载地址
用户评论