我正在使用我的 Macbook(4 个真实内核,固态磁盘)上的选项并行运行Astropy测试,该选项使用pytest-xdist并行运行〜 8000 个测试。python setup.py test --parallel N
我在 1 到 10 范围内尝试了不同N
的方法,但在所有情况下,我只能获得大约 2 的加速,但我希望在 3 到 4 范围内获得加速(因为运行测试应该受 CPU 限制)。
为什么加速比低,我怎样才能获得良好的加速(在一台计算机上使用多个内核)?
更新
我尝试了来自@Iguananaut 的 ramdisk 建议:
与 SSD 相比,加速现在约为 2.2。因为我有四个物理内核,所以我希望在 3 到 4 范围内。也许出于某种原因,并行运行测试的开销非常大。
diskutil erasevolume HFS+ 'ramdisk'
hdiutil attach -nomount ram://8388608
mkdir /Volumes/ramdisk/tmp
time python setup.py test -a '--basetemp=/Volumes/ramdisk/tmp' --parallel 8