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"」とかやると、語の順が規定されてしまって悲しいグラフになったりする。