使用线程运行numpy和matplotlib代码是否有意义?

时间:2013-11-29 19:13:54

标签: multithreading python-3.x numpy matplotlib

我为每个实验室实验编写了一个Python程序来进行数据分析(numpyscipy)和绘图(matplotlib)。目前,我使用matplotlib.pyplot状态机接口,这可能不适合多线程。所以我将调查OO接口。

然而,由于Python中的全局解释器锁定,如果我将数据分析的独立部分放在一个线程中,它甚至可以做得更快吗?

1 个答案:

答案 0 :(得分:1)

我刚试了multiprocessing而不是threading。事实证明,我只需要用T替换我的“最终结果dict multiprocessing.Manager().dict()”,并使其与pyplot状态机一起工作。

在:

real    0m10.906s
user    0m10.411s
sys     0m0.312s

使用multiprocessing

real    0m8.979s
user    0m12.707s
sys     0m0.546s

所以它看起来不是一个巨大的改进,但这只是因为其中一个部分需要花费很多时间,而不是很多并行运行。我猜multiprocessing就是答案。