浅谈python解决性能的几个考虑点

python算法优化你可以考虑的几个方向,亲测有效
首先你要分析你的代码哪里出现性能瓶颈,找出原因
python内置的几个性能分析的模块:profile、cProfile和hotshot,使用方法基本都差不多,无非模块是纯Python还是用C写的。

1、Numpy 数学运算库
使用,当你要提升你的算法性能,你可以考虑用Numpy重构你的算法,NumPy可以极大地加速相对普通的数学运算。
2、缓存使用重复率高的数据
当有一些重复率高的函数计算,没必要每次要使用时,计算一遍,只需开始时计算一次,后续直接调用结果就好。
使用python的一个本地库:functools,拥有一个装饰器,叫@functools.lru_cache,它能够缓存函数最近的N个调用。
3、多使用C库,NumPy就是一个很好的例子。NumPy使用C编写的库是一种很好的方法

4、使用多线程。协程,进程。
当然要看你的实际运用场景,这种方法局限性很强,由于python的GIL的存在,你还要考虑线程间的上下文切换耗时。一般运用于以下情况:
a、连续的操作,需要花费忍无可忍的过长时间才可能完成
b、并行计算
c、为了等待网络、文件系统、用户或其他I/O响应而耗费大量的执行时间
你可以考虑考虑。
5、pypy

PyPy 是一个 Python 解释器和即时编译(JIT)工具,它专注与速度、效率,以及和 CPython 完全的兼容性。

6 使用python3
如果你还使用python2,你可以考虑考虑这种方法
欢迎留言指正、交流

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值