Dev & Código Jul 23, 2026Añadir a favoritos

Mitchell Hashimoto (fundador de HashiCorp) firma un ensayo que plantea una tesis simple: en la era de las CPU de gran ancho de banda, no conocer el SIMD es dejar sobre la mesa entre 4× y 16× de rendimiento.
Mitchell Hashimoto — el cofundador de HashiCorp que se convirtió en un prolífico contribuyente individual (hoy trabaja en Ghostty, su emulador de terminal en Zig) — publica una larga entrada titulada simplemente Everyone Should Know SIMD. La tesis se resume en una frase: en un mundo donde los CPU dejan de aumentar en frecuencia pero crecen en registros vectoriales, ignorar el SIMD es dejar dormir órdenes de magnitud de rendimiento.
SIMD (Single Instruction, Multiple Data) se refiere a las instrucciones del CPU que aplican la misma operación a múltiples valores simultáneamente: sumar ocho float en un solo ciclo, comparar dieciséis bytes de golpe. En los CPU x86-64 modernos, estos son los conjuntos de instrucciones SSE / AVX / AVX2 / AVX-512. En ARM (Apple Silicon, servidores Neoverse), son NEON y SVE.
El debate no es nuevo: el SIMD existe desde MMX (1996). Lo que ha cambiado:
float32 o 64 int8.El mensaje central: el SIMD no está reservado para los codificadores de motores gráficos o códecs de vídeo. Cualquier manipulación masiva de datos —parsers JSON, motores de búsqueda de texto completo, comparaciones de cadenas, cálculos estadísticos, filtros de imagen, hashes— se beneficia enormemente de la vectorización.
Casos tangibles:
std::sort en un factor de 3-5 en arrays de enteros.En otras palabras: ya no es una especialidad, es una habilidad básica para todo lo relacionado con el rendimiento sobre volumen.
El SIMD manual es conocido por ser tedioso: intrinsics ilegibles, portabilidad frágil entre x86 y ARM. Tres enfoques viables hoy:
core::simd en Rust nightly, @Vector builtin en Zig).Para un desarrollador aplicativo «estándar», la entrada mediante una biblioteca portable (Highway, std::simd, @Vector) evita sumergirse en los intrinsics de bajo nivel sin perder lo esencial de la ganancia.
Hashimoto acierta: la generación de desarrolladores formada en runtimes gestionados (JavaScript, Python, Go) suele ignorar que el CPU dispone, desde hace una década, de medios de cálculo que su código nunca aprovecha. No es una acusación, es un hecho. Y la rentabilidad, cuando finalmente se conectan esos medios a un camino crítico, es espectacular.
Para recordar
std::simd, Zig @Vector) hacen la entrada accesible.Artículo producido por inteligencia artificial, revisado bajo control editorial humano.