concepto · intermedio · 1 min de lectura
Benchmarking
El benchmarking mide el rendimiento de un sistema o componente bajo condiciones controladas para comparar alternativas o detectar regresiones.
No requiere conocimientos previos.
Alcance en breve
Cubre
- Benchmarking as a concept
No cubre
- implementation details
Supone
- The reader understands relevant fundamentals.
Resumen
Un benchmark es una prueba de rendimiento repetible: ejecutás una operación N veces, medís el tiempo, y obtenés una métrica —ops/segundo, latencia p50, throughput—. A diferencia del profiling —que desglosa dónde se gasta el tiempo—, el benchmarking mide el rendimiento total.
Un buen benchmark es determinista —misma entrada, mismas condiciones, mismo resultado—, aísla la variable que querés medir, y corre suficientes iteraciones para que el ruido estadístico no opaque la señal. Herramientas como hyperfine (CLI) y Benchmark.js (JS) automatizan esto.
Alcance y supuestos
Cubre benchmarking, herramientas y buenas prácticas. Asume familiaridad con desarrollo.
Modelo mental
Probar dos autos en la misma pista, el mismo día, con el mismo conductor. Si uno hace 0-100 en 5s y otro en 7s, la diferencia es real. Si uno lo probás en lluvia y otro en seco, los resultados no son comparables.
Uso práctico
- ✅ Comparar librerías, detectar regresiones de rendimiento, validar optimizaciones.
- ❌ Microbenchmarks que miden operaciones irrelevantes en el contexto real.
Ejemplo trabajado: benchmark con hyperfine
hyperfine 'node script-a.js' 'node script-b.js' --warmup 3 --runs 20
Evidencia
hyperfine,criterion.rs(Rust) ywrk(HTTP) son herramientas de benchmarking populares.
Fuentes citadas
- Wikipedia, Unit testing (Síntesis, 21-07-2026)