/ 最近 .rdf 追記 編集 設定 本棚

脳log[20190531]



2019年05月31日 (金) Ruby 2.7.0-preview1 リリース」■「まつもとゆきひろ氏がRubyKaigi 2019で語ったこと - Part1 - ログミーTech」■@2019-06-05「Direct instruction marking in Ruby 2.6 - The GitHub Blog」 GitHub のブログで読む Ruby の仕組み。命令列がリテラルを参照している。リテラルを GC から保護するための配列を用意して使っていた。リテラルを指す2つのポインタが配列と命令列に存在していた。2.6 で配列を取り除いた。命令列からリテラルへのポインタを見つけ出すのは GC の実行コストに響くので、GC 対象を含んでいる命令列に予めフラグを立てている。また命令列自体が "old" (長寿) オブジェクトとしてマークされやすいので、世代別 GC の対象にもなりにくい。というわけで、実行コストをかけずにメモリ使用量を削減したよ、という話。