Maison > développement back-end > C++ > Les exceptions C# sont-elles vraiment beaucoup plus lentes que les codes de retour ?

Les exceptions C# sont-elles vraiment beaucoup plus lentes que les codes de retour ?

Mary-Kate Olsen
Libérer: 2025-01-26 12:26:09
original
931 Les gens l'ont consulté

Are C# Exceptions Really That Much Slower Than Return Codes?

C # Coût des performances anormales: est-ce vrai ou faux?

C # Les performances anormales ont toujours été controversées. Bien que la perte de performance ne soit pas significative lorsque la pile n'est pas profonde, les différentes affirmations sont sincères.

Test de performance précis

Afin de résoudre ce problème, nous avons développé un programme de test de référence similaire aux recherches précédentes de Jon Skeet. Les résultats des tests montrent qu'il faut 29914 millisecondes pour faire face à un million d'anomalies, ce qui signifie que chaque traitement en millisecondes est d'environ 33 anormal . Cela montre que dans la plupart des cas, les anomalies sont utilisées comme alternatives pour la valeur de retour, et leur vitesse est suffisamment rapide.

Comparaison avec la valeur de retour

Cependant, lorsque la valeur de retour est utilisée, le même programme est terminé en moins d'une milliseconde. Cela signifie que la vitesse anormale est au moins 30000 fois plus lente que la valeur de retour. Il convient de noter que ce sont le temps minimum, et cela peut prendre plus de temps pour lancer ou capturer des anomalies.

Environnement de test

Tester sur un ordinateur portable équipé de T8100 Dual -Core T8100 @ 2,1 GHz, exécute .NET 4.0 Distribution, non activé le débogueur. Code de test

Le fragment de code suivant montre la comparaison des performances:

(Remarque: le code anormal et le code de valeur de retour spécifiques sont omis ici, uniquement par exemple)

Le code de test complet doit contenir une logique de lancer et de traitement anormale spécifique, et la logique de la logique de jugement de la logique de la valeur de retour. Ce n'est que de cette manière que nous pouvons effectuer une comparaison de performances plus précise.

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