Mekanisme pemprosesan yang tidak normal dalam C#tidak penting dalam hal susunan, tetapi kehilangan prestasinya masih patut diberi perhatian.
Kajian baru -baru ini menunjukkan bahawa ia mengambil masa kira -kira 29914 milisaat untuk menangani satu juta keabnormalan, iaitu, kira -kira 33 keabnormalan setiap milisaat. Walau bagaimanapun, dalam kebanyakan kes, penggunaan anomali untuk menggantikan kod pulangan masih cukup cekap.
Ujian dilakukan pada komputer riba yang dilengkapi dengan pemproses Intel Core2 Duo T8100 @ 2.1 GHz, menggunakan rangka kerja .NET 4.0, menerbitkan versi, dan mengecualikan debugger (debugger akan mempengaruhi prestasi yang signifikan).
Berikut adalah kod ujian yang digunakan dalam eksperimen:
<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>
Atas ialah kandungan terperinci Berapa perlahan adalah pengecualian C# daripada kod kembali?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!