众所周知,纯Python跑起来真的很慢。那得有多慢呢?本篇文章我们以mandelbrot set为例,来探讨一下Python在CPU密集型任务的运行速度,以及优化方法。
Mandelbrot set
网上查了查,好像有翻译为曼德勃罗集合,曼德布洛特集合等等。大概意思就是一堆满足如下条件的复数集合。
并且
理不理解这个概念其实没那么重要,反正就是要用Python运行下面这项任务。
def
为了更好地观察和比较运行速度,我们把N_max与some_threshold统一分别取500和4。nx和ny分别代表了实数和虚数部分的样本,总共我们会计算nx * ny个复数来分别检验他们在不在这个集合里。
先取nx = 500, ny = 500来看看python会花多少时间。
电脑配置
Processor: 2.9 GHz Intel Core i7
Memory: 16 GB 2133 MHz LPDDR3
Graphics: Intel HD Graphics 630 1536 MB
开始运行

本文通过Python计算Mandelbrot集合来探讨CPU密集型任务的运行速度及优化方法。使用Numpy向量化运算、Cython编译提升性能,以及尝试GPU并行计算,显著加快了计算速度。通过实验,2000 * 2000的计算量在GPU上仅需0.2秒。
最低0.47元/天 解锁文章
50

被折叠的 条评论
为什么被折叠?



