joblib

joblib: 简单的并行

joblib是一个易用的,无依赖的 python 库,主要用来很方便的做并行。

简单的并行

对一个 for 循环并行化,基本上只需要两个函数 Paralleldelayed ,用 delayed 包裹要并行的函数,并用列表推导式生成所有参数,再把这些东西扔给 Parallel 函数,返回的就是并行后的结果了。

基本上相当于 multiprocessing.Pool.map

   from joblib import Parallel, delayed
   Parallel(n_jobs=2)(delayed(sqrt)(i ** 2) for i in range(10))

Parallel 函数的参数用来指定并行的后端 backend 、每批次执行的任务数、并行线程数等等

Tips

读取时避免锁

使用 multiprocessing.shared_memory 创建共享内存,并把内存地址名作为参数传递

评论

Comments powered by Disqus