0Pricing
Swift Academy · Lección

Fundamentos de Instruments: Time Profiler

Registre el uso de la CPU, lea árboles de llamadas y encuentre puntos críticos en su código.

Fundamentos de Instruments: Time Profiler es una lección gratuita de Swift Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Swift Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Swift Academy incluye 4 lecciones en total.

¿Por qué Instruments?

Xcode Instruments es un conjunto de herramientas de análisis de rendimiento. Time Profiler muestra dónde se emplea el tiempo de CPU para que pueda encontrar los puntos críticos.

// Launch: Xcode → Product → Profile (Cmd+I)
// Choose "Time Profiler" template
// Run your app and exercise the slow path

Grabar un trazado

Haga clic en el botón de grabación de Instruments, utilice la función que desea analizar y, después, detenga la grabación.

// 1. Connect device or use simulator
// 2. Launch with Profile (Cmd+I)
// 3. Select Time Profiler
// 4. Record for 5-30 seconds
// 5. Stop and analyze

Vista del árbol de llamadas

El árbol de llamadas muestra las funciones según el tiempo de CPU consumido. Las rutas de llamadas más costosas aparecen en la parte superior de la jerarquía.

// Call Tree columns:
// Self %: time spent in this function exclusively
// Symbol Name: function or method name
// Expand to see callers/callees

Seguimiento de pila más costoso

El panel Heaviest Stack Trace muestra la única ruta de llamadas con más muestras, que a menudo es el mejor punto de partida para optimizar.

// In Time Profiler:
// View → Heaviest Stack Trace
// Pinpoints the exact line consuming the most CPU

Filtrar muestras

Active "Ocultar bibliotecas del sistema" e "Invertir árbol de llamadas" para centrarse en su propio código en lugar de en los frameworks de Apple.

// Call Tree options (bottom of Instruments):
// ☑ Invert Call Tree    – shows leaf functions first
// ☑ Hide System Libraries – filters out OS internals

Ir al código fuente

Haga doble clic en un símbolo del árbol de llamadas para saltar directamente a la línea problemática en Xcode.

// Double-click → opens file in Xcode at the hot line
// Red/orange annotation shows time spent per line

Time Profiler y SwiftUI

En las apps de SwiftUI, busque llamadas inesperadas a body: los redibujados excesivos aparecen como entradas repetidas de View.body en el árbol de llamadas.

// Common SwiftUI hot spots:
// - body called 100+ times per second
// - Equatable not implemented, causing unnecessary diffs
// - Heavy computation in body instead of a model

Inspeccionar el hilo principal y los hilos en segundo plano

La pista de hilos de la parte superior muestra la actividad de cada hilo. Los picos de CPU en hilos en segundo plano pueden indicar un trabajo excesivo fuera del hilo principal.

// Thread lanes: Main Thread, Thread 2, Thread 3...
// Select a thread to see its call tree in isolation

Time Profiler para el inicio

Mida el tiempo de inicio de la app iniciando el análisis desde el lanzamiento y observando los primeros segundos del trazado.

// Instruments → File → Launch Profile
// Measures time from process start to first frame render

Establecer una línea base

Grabe un trazado de línea base antes de optimizar. Después de realizar cambios, vuelva a analizar y compare los resultados para confirmar la mejora.

// Baseline: 45ms for imageLoad()
// After optimization: 8ms for imageLoad()
// Confirm: 5.6x speedup verified in Instruments

Consejos para analizar con precisión

Analice la app en un dispositivo físico con una compilación Release. Los simuladores y las compilaciones Debug distorsionan las mediciones de rendimiento.

// Always:
// 1. Use physical device
// 2. Build with Release configuration (Product → Scheme → Edit → Build → Release)
// 3. Repeat measurement 3+ times for consistency

Comprobación rápida

¿Qué opción del árbol de llamadas de Instruments muestra primero en la lista las funciones hoja (las que consumen más tiempo)?

Resumen de la lección

Analice con Cmd+I → Time Profiler. Use las opciones para invertir el árbol de llamadas y ocultar las bibliotecas del sistema, de modo que su código aparezca primero. Haga doble clic en los símbolos para ir al código fuente. Analice en un dispositivo con el modo Release. Establezca líneas base antes y después de las optimizaciones para confirmar la mejora.

Preguntas frecuentes

¿La lección «Fundamentos de Instruments: Time Profiler» es gratis?

Sí — el texto completo de «Fundamentos de Instruments: Time Profiler» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Swift Academy, actualiza a CoddyKit PRO. El curso de Swift Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Fundamentos de Instruments: Time Profiler»?

Registre el uso de la CPU, lea árboles de llamadas y encuentre puntos críticos en su código. Practicas Swift Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Swift Academy?

No se requiere experiencia previa. Swift Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Fundamentos de Instruments: Time Profiler»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Swift Academy?

Sí. Cada lección de Swift Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Fundamentos de Instruments: Time Profiler
  2. Instruments Allocations y Leaks
  3. Main Thread Checker y bloqueos
  4. Optimización de rutas críticas: COW, inlining y especialización
← Volver a Swift Academy