Python高性能编程
不定时更新,整理备份+个人实验。
举个例子
Python开发速度快,但是运行速度很慢,和静态的C/C++,Java相比,运行速度往往能相差百倍。(如果刷过力扣就会注意到python需要100+ms的算法,而Java只需要几ms,泪奔)
Python牺牲了运算速度而提高了开发速度,写辅助脚本是非常不错的选择,而作为高性能计算效果可能不如静态语言。
本文以蒙特卡洛法计算圆周率作为范例,探讨不同方案的优化情况。
蒙特卡洛法计算圆周率思路
参考自北京理工大学嵩天老师的慕课《Python程序设计》。
在正方向中任取一点,则此点落在圆内的概率
P = S c i r c l e S s q u a r e = π r 2 2 r ⋅ 2 r = π 4 P = \frac{S_\mathrm{circle}}{S_\mathrm {square}} = \frac{\pi r^2}{2r\cdot2r} = \frac{\pi}{4} P=Ssquare