Maison > développement back-end > C++ > Quelle est la lenteur des exceptions C # que les codes de retour?

Quelle est la lenteur des exceptions C # que les codes de retour?

Susan Sarandon
Libérer: 2025-01-26 12:11:09
original
469 Les gens l'ont consulté

How Much Slower Are C# Exceptions Than Return Codes?

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>
Copier après la connexion
(Remarque: Le texte d'origine n'a pas la partie de code de test de code de retour, qui conserve les espaces réservés ici)

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal