concepto · intermedio · 1 min de lectura
CPU Profiling
El CPU profiling identifica qué funciones consumen más tiempo de procesador, permitiendo enfocar la optimización donde tiene mayor impacto.
No requiere conocimientos previos.
Alcance en breve
Cubre
- CPU Profiling as a concept
No cubre
- implementation details
Supone
- The reader understands relevant fundamentals.
Resumen
El CPU profiling mide cuánto tiempo pasa el procesador ejecutando cada función. A diferencia del profiling general —que puede incluir tiempo de I/O—, el CPU profiling se enfoca específicamente en el tiempo de CPU, ignorando esperas por red, disco o timers.
Un CPU profiler muestrea la pila de llamadas a intervalos regulares —cada 1ms, por ejemplo—. Las funciones que aparecen en más muestras son las que más CPU consumen. El resultado se visualiza como flame graph: las barras más anchas indican más tiempo de CPU.
Alcance y supuestos
Cubre CPU profiling, herramientas y cómo interpretar flame graphs. Asume familiaridad con profiling.
Modelo mental
Un fotógrafo que saca una foto del motor de un auto cada segundo. Después de una carrera, el 40% de las fotos muestran el pistón 3 en movimiento. Ahí está el desgaste.
Uso práctico
- ✅ Optimizar funciones que consumen CPU desproporcionadamente.
- ❌ Optimizar sin medir: la intuición sobre dónde está el cuello de botella suele ser incorrecta.
Ejemplo trabajado: flame graph con Node.js
clinic flame -- node app.js
Abre un flame graph interactivo donde cada barra es una función. El ancho indica tiempo de CPU.
Evidencia
perfen Linux, Instruments en macOS, yclinicen Node.js son herramientas de CPU profiling.
Fuentes citadas
- Wikipedia, Unit testing (Síntesis, 21-07-2026)