L'inizializzazione della variabile locale con null influisce sulle prestazioni?

L'inizializzazione della variabile locale con null influisce sulle prestazioni?

http://www.codinghorror.com/blog/2005/07/for-best-results-dont-initialize-variables.html

Per riassumere dall'articolo, dopo aver eseguito vari benchmark, l'inizializzazione di un oggetto su un valore (o come parte di una definizione, nel costruttore della classe o come parte di un metodo di inizializzazione) può essere di circa il 10-35% più lenta su .NET 1.1 e 2.0. I compilatori più recenti possono ottimizzare l'inizializzazione in fase di definizione. L'articolo chiude raccomandando di evitare l'inizializzazione come regola generale.


È leggermente più lento, come sottolinea il collegamento di Jon.Stromer.Galley. Ma la differenza è sorprendentemente piccola; probabilmente dell'ordine di nanosecondi . A quel livello, l'overhead derivante dall'uso di un linguaggio di alto livello come C# sminuisce qualsiasi differenza di prestazioni. Se le prestazioni sono un grosso problema, potresti anche codificare in C o ASM o qualcosa del genere.

Il valore della scrittura di codice in chiaro (qualunque cosa significhi per te) supererà di gran lunga l'aumento delle prestazioni di 0,00001 ms in termini di costi e benefici. Ecco perché in primo luogo esistono C# e altri linguaggi di alto livello.

Capisco che questa sia probabilmente intesa come una domanda accademica e non scarto il valore della comprensione degli interni del CLR. Ma in questo caso, sembra proprio la cosa sbagliata su cui concentrarsi.