我为每个实验室实验编写了一个Python程序来进行数据分析(numpy
,scipy
)和绘图(matplotlib
)。目前,我使用matplotlib.pyplot
状态机接口,这可能不适合多线程。所以我将调查OO接口。
然而,由于Python中的全局解释器锁定,如果我将数据分析的独立部分放在一个线程中,它甚至可以做得更快吗?
答案 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
就是答案。