algorithmist.dev

C# : Optimisation de performance

.NETC#
Durée : 2 jours Niveau : ⭐⭐⭐

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.

Ce programme vous intéresse ?