Reemplazar un enum de Rust por una palabra de 64 bits aceleró mi intérprete un 17%

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

Reemplazar un enum de Rust por una palabra de 64 bits aceleró mi intérprete un 17%

En la sexta entrega de su serie sobre la optimización del intérprete Plush, Maxime Chevalier-Boisvert explica cómo reemplazó el enum de Rust que representaba los valores dinámicos por un esquema de etiquetado de bits bajos en una palabra de 64 bits. Esta técnica reduce el uso de memoria y, sorprendentemente, mejora el rendimiento en un 17%. El post detalla el diseño de la nueva representación, incluyendo enteros de 62 bits, flotantes autoetiquetados y punteros etiquetados, y muestra ejemplos de código de máquina ARM64 para operaciones rápidas.

Puede parecer que no es gran cosa, pero si tienes un array grande de valores, ese array terminará con un montón de bytes vacíos y desperdiciados dentro de él. Este es el tipo de cosas que hace que los ingenieros de VM lloren hasta quedarse dormidos por la noche.

Más de este día

2026-09-08