PyPy 1.2が登場し、時々Pythonを加速しました!

PyPy 1.2がリリースされました。 主な違いは、 JITコンパイラの存在です。

それが何であり、なぜ説明しないために-簡単なテスト:



  cnt = 10 * 1000 * 1000
 xrangeの_(cnt)の場合: 
     i = i + 1 




通常のPython 2.6( python test.py



)で毎秒5.8mlnの追加操作

PyPy 1.2( pypy test.py



)で1秒あたり42.5mln操作

WinXP SP3、Core2Duo。



はい、彼はテストを7倍速くしました! これは合成テストだけではありません。「django」は​​3倍高速、「n-body」は7倍高速です。 自分で結果を参照してください



読んダウンロードします (「JITコンパイラー」バージョンの「セクション」から)。 64ビットバージョンはまだありません。 そして 、荷を積んでいないツバメは神経質に喫煙します...カットの下で、さらにありそうもないこと(スタックレス、「Pythonコードのサンドボックス」)..



アーカイブにはスタックレスバージョンもあり、最も重要なのはサンドボックスバージョンです! これは、Pythonの長年の問題-信頼できないコードを実行するための安全な環境の欠如-を解決するバージョンです。 著者のヒントを正しく理解していれば、外部Cコードではos.listdir('/')



作成することさえできません。 いつもと同じ場所で揺れます。



個人的に、私は一般的にPyPyを奇妙な実験として見ました-Python、そして言うには、超高速であり、Python自体でそのインタプリタを書くことは著者の面白い娯楽によってちょうど歪められたように見えまし ...しかし、JITの導入により、それは信じられないほどの速度になりました。



著者は、このバージョンではクラッシュはないと述べていますが、それにもかかわらず、とにかくこのバージョンをベータ版として扱うよう求めています。



さらに、著者は、JITを使用しているため、このPythonが消費するメモリ量を制御することは依然として難しいと警告しています。 しかし、ここでは、本質的に、純粋な形の「速度とメモリのトレードオフ」が得られます。



私にとって、Pythonの大ファンとして、そして言語全体としては、これはまさに画期的なことです。 ここで、それらの開発を注意深く監視します。 もちろん、CPythonが勝つテストがありますが、失うものよりもかなり少ないです。 そして、ゲインは10〜20%だけではなく、3倍、5倍、8倍です! 一般的に、信じられないほど聞こえますが、PyPyの開発者はPython用にV8を発明しました。



使い方は?



python -.py



代わりにpython -.py



ダウンロードして解凍しpypy -.py







ヨイハジ

ハブルからの眺め



All Articles