コンパイラを打ち負かす:アセンブリで書いた最速のUxnインタプリタ
Beating the Compiler
コンパイラはインタプリタのコード生成が苦手で、アセンブリで書けば性能を超えられるという噂を検証。Uxn CPU向けのRust実装を解析し、ディスパッチループの間接分岐がボトルネックだと特定。全状態をレジスタに載せ、スレッデッドコードで分岐を排除するAArch64アセンブリを2400行書き、参照実装を大きく上回る速度を達成した。
コンパイラはインタプリタ向けのコード生成が苦手で、アセンブリでインタプリタを書けばコンパイラを性能で上回ることが可能だ。