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