0Pricing
Swift Academy · Leçon

Fondamentaux d’Instruments : Time Profiler

Enregistrer l’utilisation du CPU, lire les arborescences d’appels et trouver les points sensibles du code.

Fondamentaux d’Instruments : Time Profiler est une leçon Swift Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Swift Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Swift Academy comprend 4 leçons au total.

Pourquoi utiliser Instruments ?

Instruments dans Xcode est une suite d’analyse des performances. Time Profiler vous montre où le temps processeur est utilisé afin que vous puissiez trouver les points chauds.

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

Enregistrer une trace

Cliquez sur le bouton d’enregistrement dans Instruments, utilisez la fonctionnalité que vous souhaitez analyser, puis arrêtez l’enregistrement.

// 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

Vue de l’arbre des appels

L’arbre des appels affiche les fonctions selon le temps processeur qu’elles consomment. Les chemins d’appel les plus coûteux apparaissent en haut de la hiérarchie.

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

Trace de pile la plus coûteuse

Le panneau de la trace de pile la plus coûteuse affiche l’unique chemin d’appel le plus échantillonné : c’est souvent le meilleur point de départ pour optimiser le code.

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

Filtrer les échantillons

Activez « Masquer les bibliothèques système » et « Inverser l’arbre des appels » pour vous concentrer sur votre propre code plutôt que sur les bibliothèques Apple.

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

Accéder au code source

Double-cliquez sur un symbole dans l’arbre des appels pour accéder directement à la ligne concernée dans Xcode.

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

Time Profiler et SwiftUI

Dans les applications SwiftUI, recherchez les appels inattendus à body : des redessinages excessifs apparaissent sous forme d’entrées View.body répétées dans l’arbre des appels.

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

Inspecter le thread principal et les threads d’arrière-plan

La piste des threads en haut affiche l’activité de chaque thread. Des pics de CPU sur les threads d’arrière-plan peuvent indiquer une quantité excessive de travail hors du thread principal.

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

Utiliser Time Profiler pour le démarrage

Mesurez le temps de lancement de l’application en effectuant le profilage depuis le lancement et en examinant les premières secondes de la trace.

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

Définir une référence

Enregistrez une trace de référence avant l’optimisation. Après vos modifications, effectuez un nouveau profilage et comparez les résultats pour confirmer l’amélioration.

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

Conseils pour un profilage précis

Effectuez le profilage sur un appareil physique dans une version de mise en production. Les simulateurs et les versions de débogage faussent les mesures de performances.

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

Vérification rapide

Quelle option de l’arbre des appels d’Instruments affiche en haut de la liste les fonctions feuilles (celles qui consomment le plus de temps) ?

Récapitulatif de la leçon

Effectuez le profilage avec Cmd+I → Time Profiler. Utilisez Invert Call Tree et Hide System Libraries pour afficher votre code en premier. Double-cliquez sur les symboles pour accéder au code source. Effectuez le profilage sur un appareil en mode Release. Établissez des références avant et après les optimisations pour confirmer l’amélioration.

Questions Fréquemment Posées

La leçon « Fondamentaux d’Instruments : Time Profiler » est-elle gratuite ?

Oui — le texte complet de « Fondamentaux d’Instruments : Time Profiler » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Swift Academy, passe à CoddyKit PRO. Le cours Swift Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Fondamentaux d’Instruments : Time Profiler » ?

Enregistrer l’utilisation du CPU, lire les arborescences d’appels et trouver les points sensibles du code. Tu pratiques Swift Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Swift Academy ?

Aucune expérience préalable n'est requise. Swift Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Fondamentaux d’Instruments : Time Profiler » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Swift Academy ?

Oui. Chaque leçon Swift Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Fondamentaux d’Instruments : Time Profiler
  2. Instruments Allocations et Leaks
  3. Main Thread Checker et blocages
  4. Optimiser les chemins critiques : COW, inlining et spécialisation
← Retour à Swift Academy