我在 Windows 上使用 Python 3 并尝试构建一个玩具示例,演示如何使用多个 CPU 内核来加速计算。玩具示例是 Mandelbrot 分形的渲染。
迄今为止:
但是,我无法证明任何加速,无论是由于开销还是没有实际的多处理。因此,指向具有可证明加速的玩具示例的指针将非常有帮助:-)
编辑:谢谢!这将我推向了正确的方向,我现在有了一个工作示例,该示例演示了在具有 4 个内核的 CPU 上速度翻倍。
我的代码副本和“讲义”在这里:https : //pastebin.com/c9HZ2vAV
我决定使用 Pool() 但稍后会尝试@16num 指出的“进程”替代方案。下面是 Pool() 的代码示例:
p = Pool(cpu_count())
#Unlike map, starmap only allows 1 input. "partial" provides a workaround
partial_calculatePixel = partial(calculatePixel, dataarray=data)
koord = []
for j in range(height):
for k in range(width):
koord.append((j,k))
#Runs the calls to calculatePixel in a pool. "hmm" …Run Code Online (Sandbox Code Playgroud)