我写了一些测试代码,来看看在CPU密集型工作方面,多进程模块与线程相比的性能表现。在Linux上,我得到了预期的性能提升:
以下是测试代码:
linux (dual quad core xeon): serialrun took 1192.319 ms parallelrun took 346.727 ms threadedrun took 2108.172 ms我的双核MacBook Pro也表现出同样的行为:
osx (dual core macbook pro) serialrun took 2026.995 ms parallelrun took 1288.723 ms threadedrun took 5314.822 ms然后我尝试在Windows机器上运行,得到了非常不同的结果。
windows (i7 920): serialrun took 1043.000 ms parallelrun took 3237.000 ms threadedrun took 2343.000 ms为什么多进程方法在Windows上如此缓慢呢?
以下是测试代码: