タグ

vmとrubyに関するmoozのブックマーク (2)

  • Ruby Under a Microscope - Pat Shaughnessy

    Everyone knows that Ruby is a powerful language. Its dynamic nature allows you to concisely write the code you need to actually solve a problem instead of burying yourself under mountains of boilerplate. You don't have to fight it; you just get to enjoy the ride. But how is the magic created? And can you trust it? After all, MRI is written in C - a statically typed, compiled language which is pret

    mooz
    mooz 2013/02/24
    YARV
  • ruby-trunk-changes r37180 - r37195 - ruby trunk changes

    今日はメソッド呼び出しまわりの VM の処理の最適化で大きな変更がいくつか入りました。かなり書きかわっているので trunk で手元のアプリケーション/ライブラリが動作するか確認してみて頂けるとおそらくささださんが喜ぶと思います。 ko1:r37180 2012-10-15 01:59:05 +0900 r37121 でインラインキャッシュから切り出したメソッド呼び出しのキャッシュ用の構造体 rb_call_info_t を拡張して、メソッドのID(メソッド名のシンボルの内部表現)、flag、引数の数、ブロックの命令列などメソッド呼び出しに必要な情報をまとめて持たせて、この構造体ごとやりとりするようにすることでメソッド呼び出しを高速化しています。vm_call_method() の引数が th, cfp, ci(callinfo) だけになってすっきりしました。また Instruction

    ruby-trunk-changes r37180 - r37195 - ruby trunk changes
    mooz
    mooz 2012/10/16
    メソッド呼び出しを行う VM 関数の引数を構造体にまとめる変更。C 側でスタックに積む引数の数が減って高速に? とのこと。
  • 1