总结了这段时间在PyPy上的折腾,早上给同事分享了一下,不过关于PyPy里面还有很多东西需要去理解。这里先把简单介绍版拿出来,其实是做成一个html5的ppt的rst源码。稍后找个地方放ppt,效果应该不错。
ppt看这里: Link
下面开始:
什么是PyPy
起源
author, Armin Rigo:
- Psyco , 由C编写(2012年终止)
简单易用:
import psyco psyco.full()
但因为基于C开发,相当于用C重写了CPython,灵活性太差,于是作者就跑去参与了PyPy的开发。
特性
- Speed - JIT
- Memory usage - 据说改善了GC
- Compatibility - 标准库和大多数扩展库
- Sandboxing - 虚拟的执行环境
- Stackless - 默认集成
关键技术
- RPython
也是在PyPy中提出的,Python的子集-Restric/Reduce Python
- JIT
针对常被执行的代码进行编译,优化为Native code
安装使用
- http://pypy.org/download.html
- virtualenv --no-site-packages -p /home/pypy-2.0.2/bin/pypy pypy-env
实际效果
- 对于cpu密集型应用比CPython快3~5倍,侧重于算法和循环
- 对于tornado的WEB应用占用10倍左右内存,整体性能无提升
都是在本地测试
它会是未来?
- Python本身的发展 + 高效的JIT
- 为什么PyPy是未来
参考
----EOF-----
微信公众号:Python程序员杂谈
微信公众号:Python程序员杂谈