1170Fermer1172
GoldenCrystalLe 11/05/2010 à 23:09
Hmm non, en réalité, le fait qu'une méthode soit virtuelle a un impact tout sauf négligeable sur les perfs.
T'as qu'a te documenter sur les astuces utilisées par la VM Java, ou le JIT du CLR (mais là ça ne concerne que les interfaces et les delegate vu que par défaut les méthodes sont non virtuelles… y'a encore de la marge en optimisation côté MS) pour réduire l'impact que ça a sur les performances, tu comprendras.
Mais oui, après on est d'accord, il ne faut pas se priver des méthodes virtuelles pour une bête raison de performance. Il faut une raison bien justifiée pour ça. Les performances peuvent l'être dans certains cas, mais pas toujours. (Si coût de l'appel ≥ coût de la méthode pour une méthode critique… Par exemple si ta méthode virtuelle est appelée en boucle un grand nombre de fois, mais ne fait que 2 additions… )