Accueil > Formations > Développement et Ingénierie de Logiciels > Software Craftsmanship & Excellence du Code > Profiling natif
Profiling natif
Optimisez vos performances natives en allant au cœur de l’architecture CPU !
Vue d'ensemble
Quelques notions dans un langage natif comme le C++ ou Rust.
Objectifs pédagogiques
Programme détaillé
Performance
Définition du scope
Pourquoi c’est toujours d’actualité
Le cycle d’optimisation
Définition des indicateurs
Définition des objectifs
Analyse des performances
Présentation des profilers basés sur le sampling, avantages et
inconvénients
Présentation des profilers basés sur l’instrumentation, avantages et
inconvénients
Déterminisme et reproductibilité
Présentation du profiler Tracy
Les principales causes de lenteur
Comment les repérer
Comment les corriger
Multi-threading
Loi d’Amdahl
Comment interpreter les résultats du profiler pour une application multi-threadée
Comment trouver les bottlenecks
Est-ce que le système de tâche est efficace et adapté ?
Nouveaux CPUs: Comment approcher les cores P/E
Micro-benchmarking
Comment ça fonctionne
Les dangers liés au micro-benchmarking
Fonctionnement du CPU (caches/branch prediction/pipelining)
Analyse micro-architecturale
Présentation de llvm-mca
SIMD
Présentation
Optimization d’un code CPU-bound
Intel ISPC
Aller plus loin
Analyse de l’utilisation mémoire
Comment trouver un leak ?
Structure packing et bitpacking
Structures de données économes en mémoire (Bloom filter, String
interning, …)
Prochaines sessions
Avis des participants
Financement
Cette formation est éligible aux financements OPCO et FNE-Formation. Nos équipes vous accompagnent dans le montage de votre dossier.
En savoir plus sur le financement
