Le mécanisme de traitement anormal en C # n'est pas significatif dans le cas des piles, mais sa perte de performances est toujours digne d'attention.
Une étude récente montre qu'il faut environ 29914 millisecondes pour faire face à un million d'anomalies, soit environ 33 anomalies par millisecondes. Néanmoins, dans la plupart des cas, l'utilisation d'anomalies pour remplacer le code de retour est toujours suffisamment efficace.
Cependant, il est important de noter que la vitesse de traitement des exceptions est d'au moins 30 000 fois plus lente que le code de retour. De plus, ces données ne sont que des estimations minimales et des dépenses de performances supplémentaires seront générées dans les scénarios d'application réels.
Le test a été effectué sur un ordinateur portable équipé du processeur Intel Core2 Duo T8100 @ 2.1 GHz, en utilisant le framework .NET 4.0, publié une version et excluait le débogueur (le débogueur affecterait considérablement les performances).
Ce qui suit est le code de test utilisé dans l'expérience:
<code class="language-csharp">static void Main(string[] args) { int iterations = 1000000; Console.WriteLine("Starting " + iterations.ToString() + " iterations...\n"); var stopwatch = new Stopwatch(); // 测试异常 stopwatch.Reset(); stopwatch.Start(); for (int i = 1; i <= iterations; i++) { try { // 模拟异常抛出 throw new Exception(); } catch (Exception) { // 捕获异常 } } stopwatch.Stop(); Console.WriteLine("Exceptions took: " + stopwatch.ElapsedMilliseconds + "ms"); // 测试返回码 (此处应添加返回码测试代码) }</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!