Python高速化(続編)
なんか珍しく私のblogにコメントを頂いたので、Pythonの他の実装について追記。前の記事「Python高速化」はこちら。
- Cython : d:id:morchinさんより。「PythonライクなコードをCのコードに変換するCythonとか」ということで、「ライク」の部分は高速化のために必要な、例えば引数の型を指定できるとか、そういうことみたい。Pyrexの後継とのこと。
- unladen-swallow : witmannさんより。CPythonとのソース互換性・JITコンパイル・最低5倍の速度向上を目標としてる実装。CPythonよりfork。なんとなくGoogleの中の人の匂いがするけど詳細不明。
- Psyco : (既出)Pythonモジュール形式のJITコンパイラ。既存のソースに2行追加するだけ。Intel32bit限定。
- PyPy : (既出)CPythonに対するPythonPython。Psycoの後継。Pythonで書かれたPythonで、Psycoを基礎として動的コンパイルを実現するためのプラットフォーム。どうも低速進行中という感じ。
ここのところのトレンドを見る限り、
(青がPython、赤がRuby)
Rubyに負けてる感じもしなくはないけど、逆に言えばあんだけ日本で騒いでるRubyに引けをとらない状況な訳で。ガンガンやってほしいところ。
自分としては、あくまで既存のPython資産をそのまま高速化したいので、unladen-swallowに期待しておく。
2009/06/02追記
d:id:methaneさんより「rubyは宝石の名前の検索も集計するのでは」とのご指摘。ごもっとも。自分でもそんな気がしていたけど(負け惜しみ)、ちょっとやってみた。
http://www.google.co.jp/trends?q=programming+python%2Cprogramming+ruby
(青がPython、赤がRuby)
こうやってみると一時のRubyの勢いを表してて、実態に近いという気もする。当然ながら日本語だとprogrammingなんてほとんど書かないから集計対象外になっちゃうみたい。
ちなみにGoogle Trendは普通のgoogleの検索式をカンマでつないだものとして評価されるみたい。だから「"programming python","programming ruby"」とかやると、語の順が規定されてしまって悲しいグラフになったりする。