アカウント名:
パスワード:
本家より何倍も速くなるってどういう仕組みなんだろ。
@ITの記事見るとRPythonを使って実装したことで、JITコンパイラを使える形に出来たってことですね。ネイティブコードに出来るんならそりゃインタプリタよりは速い。
5倍とかいう異常な数字に驚きましたが、JIT ということならなるほどそうかもしれない、と思いました。ポインタありがとうです。(@IT 元記事、もっとはっきり書いてよ)
でも、私にとって、Ruby の使いやすさは、`` とか(!) eval を eval するあたりなので、あんまり恩恵なさそうで、残念です。
プロフェッショナルな方だとまた違うんですかね
PyPyはインタプリタ言語の処理系自体をインタプリタ言語(RPython)で実装してJITコンパイル付きのインタプリタで実行する仕組みだそうです。JITコンパイルされるのはコードを実行している際のインタプリタの挙動らしいので、evalの文脈だろうと直接記述された文脈だろうと恐らく殆ど同じ扱いで実行されるんではないでしょうか。
JITコンパイルする対象がインタプリタだけなのにもかかわらず、インタプリタをガッツリ最適化してコンパイルした場合より速くなるってのは面白い結果だと思います。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
192.168.0.1は、私が使っている IPアドレスですので勝手に使わないでください --- ある通りすがり
高速化のポイントが知りたい (スコア:0)
本家より何倍も速くなるってどういう仕組みなんだろ。
Re: (スコア:2, 参考になる)
@ITの記事見るとRPythonを使って実装したことで、JITコンパイラを使える形に出来たってことですね。
ネイティブコードに出来るんならそりゃインタプリタよりは速い。
Re: (スコア:0)
5倍とかいう異常な数字に驚きましたが、JIT ということならなるほどそうかもしれない、と思いました。ポインタありがとうです。(@IT 元記事、もっとはっきり書いてよ)
でも、私にとって、Ruby の使いやすさは、`` とか(!) eval を eval するあたりなので、あんまり恩恵なさそうで、残念です。
プロフェッショナルな方だとまた違うんですかね
Re:高速化のポイントが知りたい (スコア:0)
PyPyはインタプリタ言語の処理系自体をインタプリタ言語(RPython)で実装してJITコンパイル付きのインタプリタで実行する仕組みだそうです。
JITコンパイルされるのはコードを実行している際のインタプリタの挙動らしいので、evalの文脈だろうと直接記述された文脈だろうと恐らく殆ど同じ扱いで実行されるんではないでしょうか。
JITコンパイルする対象がインタプリタだけなのにもかかわらず、インタプリタをガッツリ最適化してコンパイルした場合より速くなるってのは面白い結果だと思います。