Statique Vs Instance De Performance De La Méthode C#

J'ai quelques méthodes globales déclarées dans la classe publique dans mon ASP.NET application web.

J'ai l'habitude de déclarer toutes les méthodes globales dans la classe publique dans le format suivant

public static string MethodName(parameters) { }

Je veux savoir comment elle aurait un impact sur les performances de point de vue?

  1. Lequel est le mieux? Méthode statique ou Non Méthode Statique?
  2. Raison pourquoi c'est mieux?

http://bytes.com/topic/c-sharp/answers/231701-static-vs-non-static-function-performance#post947244 états:

parce que les méthodes statiques sont à l'aide de verrous pour être Thread-safe. Le toujours
faire en interne un Moniteur.Enter() et le Moniteur.exit() pour s'assurer
Fil de sécurité.

Tout http://dotnetperls.com/static-method états:

méthodes statiques sont normalement plus rapide pour invoquer sur la pile d'appel de
les méthodes d'instance. Il y a plusieurs raisons à cela dans le C#
langage de programmation. Les méthodes d'Instance réellement utiliser le "il"
pointeur d'instance en tant que premier paramètre, donc une méthode d'instance sera
toujours que les frais généraux. Les méthodes d'Instance sont également mis en œuvre avec
le callvirt l'instruction dans la langue intermédiaire, qui impose une
légère surcharge. Veuillez noter que changer vos méthodes statiques
méthodes est peu probable pour aider beaucoup sur des objectifs ambitieux objectifs de performance, mais
il peut aider un tout petit peu et, éventuellement, conduire à de nouvelles réductions.

Je suis un peu confus à utiliser?

  • Avez-vous lu à la fin de ce premier lien? Il devient tout à fait clair, même dans le fil, que l'affirmation à propos de verrouillage automatique est faux.
InformationsquelleAutor dotnetguts | 2010-06-10