在进程间传递numpy数组速度不同方法对比

前言

比较了memoryviews, mpi, shared Array, pipe, queue, shared memory

ØMQ我不想尝试了, 里面有很多小类(主要是没见别人用过, 不想测了)

结论

方法 数据大小 时间(s)
mpi 1GB 0.19
shared memory 1GB 0.26
memoryviews 1GB 0.34
Array2 1GB 0.39
pipe 1GB 1.70
queue 1GB 1.96
Array 0.5GB 10.47

难怪超算和baselines用MPI, 这速度!!!

温馨提示: MPI写程序较复杂

代码

Link