PyPyのインストール
Sponsored Links
皆さんこんにちは
お元気ですか。TOEIC終わって疲れた。
本日はPyPyについて
What is PyPy(パイパイ)
Pythonの実装の一つでございます
・JIT コンパイラで動く為、高速。CPythonの代わりを目指したんだとかなんとか
・RPythonで書かれているとか(Wikipedia)
・色んなプロジェクトが走っているとか
・外で迂闊に言うと不審者に間違えられるとかられないとか
Numpyのインストール
何やら公式ではいくつかのプロジェクトで募金を集めているようです。
numpyは以下のような感じでインストールできます。
git clone https://bitbucket.org/pypy/numpy.git cd numpy pypy setup.py install
numpy のimportに失敗する人は以下のコマンドを打ち込みましょう。
sudo pypy -c 'import numpy'
せっかくなので速度を比較してみた
昔使ったコードを使います。なんかリストに対してあらゆる処理を実行するものです。
ソースコード
import time Time = 10 N = 10000000 def list_append(): for i in xrange(Time): array = [] for j in xrange(N): array.append(1) def list_extend(): for i in xrange(Time): array = [] for j in xrange(N): array.extend([1]) def list_extend_list(): for i in xrange(Time): array = [] array.extend(range(N)) def list_intend(): for i in xrange(Time): [1 for i in xrange(N)] if __name__ == '__main__': array= [list_append,list_extend,list_extend_list,list_intend] time.time() for function in array: clock = time.time() function() print (time.time() - clock) / Time
結果
python2.7 | pypy | |
list_append | 1.137867 | 0.595848 |
list_extend | 2.113609 | 0.663510 |
list_extend_list | 0.396939 | 0.000001 |
list_intend | 0.482634 | 0.0554735898972 |
お、案外高速化されてる。ただ現状、scipyとか対応してないのもあってそういった部分が微妙なんだよなぁ・・・