代码优化
方向
- 时间复杂度,使用更好的算法。
- 抽象与复用,结合设计模式
- 类型校验
- 空间复杂度,较少内存使用。
python优化
任务划分
IO密集型
- 多线程/多协程
CPU密集型
- 使用其他语言例如Golang/Rust写计算代码,Python去调用
- 多进程,进程的代码也是其他语言写,例如Golang/Rust
- 使用并行计算库,如Dask,Ray等
- 使用numba加速/conda等
加速
- 使用内置的函数
- 对于属性不可变的对象加slot,加快访问速度
- 如果数据类型相同的列表,可以用array代替
内存优化
- 使用生成器
- 使用array代替list