主要学习环境
硬件:CPU:Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
内存:8G
系统:Debian 64位,python2.7.9
加速:pypy2.6.1
下载pypy2.6.1。国内可下,但是速度很慢。
https://bitbucket.org/pypy/pypy/downloads/pypy-2.6.1-src.tar.bz2
解包后放在/usr/local/pypy编译命令如下。
python rpython/bin/rpython -Ojit pypy/goal/targetpypystandalone.py
为了方便调用将命令链接到命令路径中。
ln -s /usr/local/pypy/pypy-c /usr/local/bin/pypy
pypy安装包使用pip管理。下载两个包依顺序用pypy安装
https://pypi.python.org/packages/source/s/setuptools/setuptools-18.3.2.tar.gz#md5=d30c969065bd384266e411c446a86623
https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#md5=3823d2343d9f3aaab21cf9c917710196
安装完毕将pypy的pip也链接到系统命令中方便使用
ln -s /usr/local/pypy/bin/pip /usr/bin/pypypip
测试脚本
# -*- coding:utf-8 -*- # ------------------------------- # Date: 2015-11-27 # Author: simonzhang # Web: www.simonzhang.net # Email: simon-zzm@163.com # ------------------------------- all=xrange(1,10**7) def check(num): a=list(str(num)) b=a[::-1] if a==b: return True return False def main(): for i in all: if check(i): if check(i**2): print i,i**2
测试结果
python:
real 0m6.209s
user 0m6.196s
sys 0m0.008s
pypy:
real 0m1.441s
user 0m1.420s
sys 0m0.016s
结论:
效果pypy加速了4.4倍,在脚本不变的情况下效果明显。该段脚本用C和golang1.5版本都测试过。C和golang耗时
在0.5秒左右。比pypy快3倍。但是从开发速度和代码易理解的程度上说,写小型的需要快速开发的项目,
python还是非常理想的选择。
另两种语言连接http://www.simonzhang.net/?p=2789
发表评论