140 votes

TargetedPatchingOptOut : « critique pour les performances Inline aux frontières de l’image NGen » ?

Été en passant par quelques classes du framework à l’aide de réflecteur et remarqué un certain nombre de méthodes et propriétés ont l’attribut suivant

Je suis sûr que j’ai aussi vu le commentaire ci-dessus ailleurs et jamais suivi.

Est quelqu'un pourrait s’il vous plaît me dire ce que cela signifie dans le langage c# et tout autre contexte ?

176voto

SLaks Points 391154

Il raconte NGen que c'est OK pour insérer le méthode il est appliqué même dans une autre assemblée.

Par exemple:

  • String.Equals a [TargetedPatchingOptOut]
  • Vous écrivez un programme qui appelle String.Equals
  • Vous exécutez NGen sur ce programme pour un maximum de performance
  • NGen sera inline l' String.Equals appel, en remplacement de l'appel de la méthode de l'enseignement, avec le code dans la méthode.
    Les appels de méthode sont (un peu) cher, c'est donc un gain de performance pour l'fréquemment appelées méthodes.

Toutefois, si Microsoft trouve un trou de sécurité dans String.Equals, ils ne peuvent pas mettre à jour mscorlib.dll, car cela ne va pas affecter l'assemblée que vous venez de NGen. (Car il a cru en code machine sans référencement String.Equals).
Je suppose que si cela devait se produire, la mise à jour de sécurité bien NGen magasin.

Notez que cet attribut n'est utile que dans le .NET Framework assemblées. Vous n'en avez pas besoin dans votre propre. Vous pouvez trouver plus d'informations à ce sujet ici: http://stackoverflow.com/a/14982340/631802

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X