Michel Perfetti
Mapping de données par attributs: comment éviter les pertes de performance grâce à la génération de MSIL à l'exécution
Cet article présente une classe qui permet le mapping par attributs sur un IDataReader en générant à l'exécution du code MSIL spécifique à la classe à
Par Michel Perfetti publié le 27/09/2005 à 23:03, lu 5345 fois, 5 pages
 4 | Performances
Téléchargez le code source - 11 Kb
Performances
Frédéric Mélantois m'a fournit des valeurs pour le mapping d'une classe dont certains membres peuvent avoir des valeurs nulles. Pour à peu près 400000 entrées. 3 méthodes ont été comparées :
  • Une méthode « pure réflexion » comme présentée dans sont article
  • Une méthode où le mapping est créé à la main
  • Une méthode utilisant la classe Mapper<T>
En moyenne les résultats sont les suivants :
  • Avec la réflexion : 31 secondes
  • Avec le code « à la main » : 2,7 secondes
  • Avec la classe Mapper<T> : 3,1 secondes
Bien sur ces résultats dépendent énormément du banc de tests. Le temps de calcul avec la classe Mapper<T>, du fait de son fonctionnement, sera quand même plus proche de celui du code à la main que de la réflexion.
 
» Démarrer une discussion
 
Discussion démarée par MickyMax le 18/11/2007 à 14:44, 1 commentaire(s).