C# : Optimisation de performance
Résumé
Optimiser un traitement de données par des techniques bas-niveau (appel de code natif, contrôle du ramasse-miette, allocation sur la pile, génération de code à la volée...).
Objectif
A l’issue de la formation, le stagiaire saura mettre en œuvre :
- Lecture de code machine .NET
- Intégration de plusieurs langages .NET (C#, F#, VB.NET)
- Interaction avec du code natif
- Contrôle du ramasse-miette et des allocations mémoire
- Manipulation optimisée de tableaux
- Génération de code .NET à la volée
Public concerné
Cette formation s’adresse aux développeurs professionnels ou aux étudiants avec une expérience en programmation C#. Le stagiaire doit maîtriser les aspects structurés, objets et fonctionnels (LINQ) du langage.
Des connaissances en algorithmique et en système sont conseillées. Des rappels seront faits.
Contenu
Partie 1 : Langages de programmation
Principes des langages de programmation :
- Langages d’assemblage
- Abstraction matérielle/logicielle
- Compilation vs interprétation
- Propriétés des langages compilés/interprétés
- Compilation juste-à-temps
Langages .NET :
- Décompiler un assembly .NET
- Le Common Intermediate Langage (CIL)
- Interopérabilité entre langages .NET : C#, F#, VB.NET
- Appel d’une fonction C avec P/Invoke
- Assembly mixte avec C++/CLI
Partie 2 : Techniques d’optimisation
Gestion de la mémoire :
- La pile et le tas
- Cycle de vie d’un objet en mémoire
- Ramasse-miette et code managé
- Le destructeur
- Libération des ressources non managées
- Références faibles
Manipulation de tableaux :
- Code unsafe : pointeur, tableaux alloués sur la pile
- Structures allouées sur la pile
- Structures Span
et Memory - Enumérateurs alloués sur la pile
Réflexion et génération de code :
- Réflexion de type
- Arbres d’expression
- Emission de code CIL
Modalités
Mode d’intervention
En sous-traitance auprès des instituts de formation certifiés Qualopi, en inter- ou intra-entreprise.
Le programme présenté est adaptable à un besoin spécifique après audit.
Travaux pratiques
L’ensemble de la formation s’articule à parts égales entre exposés techniques, démonstrations en direct et travaux pratiques.
Le stagiaire reçoit durant la formation les supports d’exposé ainsi que le code source des démonstrations et solutions de travaux pratiques.
Moyens techniques
La formation est proposée en vidéo-conférence. Le stagiaire doit s’équiper du matériel et du logiciel nécessaire.