Как замена enum на 64-битное слово ускорила интерпретатор на 17%

Replacing a Rust Enum with a 64-Bit Word Made My Interpreter 17% Faster

Как замена enum на 64-битное слово ускорила интерпретатор на 17%

Автор рассказывает, как в своём интерпретаторе Plush заменил 128-битный enum на 64-битное значение с низкобитовой разметкой. Это сократило память и, вопреки опасениям, ускорило выполнение на 17%. В статье подробно описана схема разметки, включая fixnum, flonum и специальные теги для сравнения, а также приведены примеры машинного кода для ARM64.

Один бит в теге (я выбрал бит с индексом 1) сообщает, что два значения можно сравнивать напрямую одной инструкцией сравнения.

Ещё за этот день

2026-09-08