Rustのenumを64ビット整数に置き換えたら、インタプリタが17%高速化した
Replacing a Rust Enum with a 64-Bit Word Made My Interpreter 17% Faster

動的型付け言語Plushのインタプリタを最適化する過程で、著者は値の表現をRustのタグ付きenumから64ビットの低ビットタグ方式に変更しました。この変更により、値のメモリ使用量が128ビットから64ビットに削減され、結果としてインタプリタ全体が17%高速化しました。本記事では、タグ付けスキームの設計、fixnum演算の効率化、自己タグ付き浮動小数点表現など、実装の詳細を解説します。
この種のことは、VMエンジニアを夜も眠れなくさせる類のものです。