Skip to content

代码优化

方向

  1. 时间复杂度,使用更好的算法。
  2. 抽象与复用,结合设计模式
  3. 类型校验
  4. 空间复杂度,较少内存使用。

python优化

任务划分

IO密集型
  1. 多线程/多协程
CPU密集型
  1. 使用其他语言例如Golang/Rust写计算代码,Python去调用
  2. 多进程,进程的代码也是其他语言写,例如Golang/Rust
  3. 使用并行计算库,如Dask,Ray等
  4. 使用numba加速/conda等

加速

  1. 使用内置的函数
  2. 对于属性不可变的对象加slot,加快访问速度
  3. 如果数据类型相同的列表,可以用array代替

内存优化

  1. 使用生成器
  2. 使用array代替list