「Rubyのウラガワ」
https://scrapbox.io/files/63be2848f81c6e001da6beb8.png
——Rubyインタプリタに学ぶデータ構造とアルゴリズム
WEB+DB PRESSの笹田耕一さんの連載。Ruby2系の終盤から3.0リリースに向けた時点でのRubyインタプリタの状況について解説されている貴重な記事。
2019年
Vol.110: 第1回, オブジェクトはどうやって表現するのか? …ポインタト埋め込み表現
Vol.111: 第2回, RubyのGCの基礎 … GCのデータ構造とアルゴリズム
特集1: 詳解Rails6 -- 松田明, y-yagi
Vol.112: 第3回, RubyのスゴイGC … 世代別GCとインクリメンタルGC
Vol.113: 第4回, 簡単そうで簡単じゃない配列の話 … 埋め込み配列とコピーオンライトを利用したテクニック
特集2: Ruby書き方ドリル -- 澤田 剛
Vol.114: 第5回, Rubyにおけるハッシュテーブルの内部実装 … 連鎖法から開番地法への進化の歴史
2020年
Vol.115: 第6回, Transient heapの導入とHashの改善 … すぐ不用にやるメモリとうまく付き合う方法
一般記事: <コミッター詳解>Ruby 2.7の魅力 -- 遠藤 侑介
Vol.116: 休載(RubyKaigi 2020で忙しくなることを想定していた)
Vol.117: 第7回, 一番使われるデータ構造「文字列」 … 表現方法、連結/コピー処理の高速化
Vol.118: 第8回, Rubyの文字列エンコーディング … 100個以上の符号化方式にどう対応するのか?
Vol.119: 第9回, 一意なオブジェクト「シンボル」の表現 … インタプリタでの名前管理とシンボルGC
Vol.120: 第10回, インスタンス変数の表現 … クラス別インデックス表と、そのキャッシュによる高速化
2021年
Vol.121: 休載 (この号は特集1が「詳解 Ruby3.0」だからだと思われる)
Vol.122: 第11回(最終回), クラス階層の実現 … メソッド探索のしくみと高速化
入手方法
2022年末時点では「総集編」で最終回の1つ前の回までをまとめて入手可能。あとは最終回だけ個別に買えばコンプリート。
「総集編特別企画」の第4章が笹田さんの寄稿なのでお得!
第4章:Ruby ── 「使いやすさ」を追求して進化し続けるプログラミング言語……笹田 耕一