Hacker News Front Page · signa11 ·
Xoranth's musings
GCC transforma las sentencias `switch` en tablas de saltos, pruebas de bits o árboles de comparaciones, según heurísticas que consideran la densidad de los casos, los rangos contiguos, la cantidad de comparaciones, el costo de la arquitectura y el objetivo de optimización. A partir de ejemplos compilados y del código fuente de GCC, el texto explica cómo la programación dinámica agrupa los casos en bloques convenientes y cómo los datos de perfil pueden equilibrar los árboles de decisión alternativos.
2024-01-14