用Python写的方法,为什么运行时间这么长
1个回答
展开全部
1. 手优化前先profile看看程序间都花哪些:
python -m cProfile -o output.prof your_program
跑完output.profile文件接需要文件进行析面工具我推荐SnakeViz神器安装非简单pip install snakeviz 即
snakeviz output.prof
运行打浏览器窗口看看哪些函数耗耗调用数太呢单调用耗明确优化重点;
2. 减少重复计算缓存计算结看看 functools.lru_cache
3. 能用list comprehension要用for;能用numpy要手写循环要用pandas;
4. 看测40wtick数据量算应该直接load内存吧
5. 慢Numba — Numba安装麻烦些使用起非便速度提高两数量级没问题;
6. 用包PyPy都支持试试pypy;
7. Cython、c module面都没效候选案
python -m cProfile -o output.prof your_program
跑完output.profile文件接需要文件进行析面工具我推荐SnakeViz神器安装非简单pip install snakeviz 即
snakeviz output.prof
运行打浏览器窗口看看哪些函数耗耗调用数太呢单调用耗明确优化重点;
2. 减少重复计算缓存计算结看看 functools.lru_cache
3. 能用list comprehension要用for;能用numpy要手写循环要用pandas;
4. 看测40wtick数据量算应该直接load内存吧
5. 慢Numba — Numba安装麻烦些使用起非便速度提高两数量级没问题;
6. 用包PyPy都支持试试pypy;
7. Cython、c module面都没效候选案
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询