joblib
joblib: 简单的并行
joblib是一个易用的,无依赖的 python 库,主要用来很方便的做并行。
简单的并行
对一个 for
循环并行化,基本上只需要两个函数 Parallel
和 delayed
,用 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