J'ai rencontré le paragraphe suivant :
" Debug vs Release " dans l'IDE lorsque vous compilez votre code dans Visual Studio ne fait quasiment aucune différence en termes de performances le code généré est quasiment le même. Le compilateur C# ne fait pas vraiment d'optimisation. Le compilateur C# ne fait que cracher de l'IL et au moment de l'exécution, c'est le JITer qui se charge de l'optimisation. Le JITer dispose d'un mode Debug/Release et cela fait une énorme différence au niveau des performances. Mais cela ne dépend pas du fait que vous exécutiez la configuration Debug ou Release de votre projet, cela dépend du fait qu'un débogueur soit attaché."
La source est aquí et le podcast est aquí .
Quelqu'un peut-il me diriger vers un article de Microsoft qui prouve réellement cela ?
Googler " Performances de C# en débogage par rapport à la version finale "renvoie principalement des résultats disant " Debug a beaucoup d'impact sur les performances ", " la version est optimisée ", et " ne pas déployer le débogage en production ".
0 votes
Duplication possible de Différences de performances entre les versions de débogage et de publication
0 votes
Avec .Net4 sur Win7-x86, j'ai un programme limité par le CPU que j'ai écrit et qui s'exécute presque deux fois plus vite en version release qu'en debug sans asserts/etc dans la boucle principale.
0 votes
En outre, si vous vous souciez de l'utilisation de la mémoire, il peut y avoir de grandes différences. J'ai vu un cas où un service Windows multithread compilé en mode Debug utilisait 700 Mo par thread, contre 50 Mo par thread dans la version Release. La version Debug a rapidement manqué de mémoire dans des conditions d'utilisation typiques.
0 votes
@Bengie - avez-vous vérifié que si vous attachez un débogueur au build de la version, il fonctionne toujours 2x plus vite ? Notez que la citation ci-dessus indique que l'optimisation JIT est affectée par la présence ou non d'un débogueur.