Rumah > pembangunan bahagian belakang > C++ > Berapa perlahan adalah pengecualian C# daripada kod kembali?

Berapa perlahan adalah pengecualian C# daripada kod kembali?

Susan Sarandon
Lepaskan: 2025-01-26 12:11:09
asal
469 orang telah melayarinya

How Much Slower Are C# Exceptions Than Return Codes?

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.

Walau bagaimanapun, adalah penting untuk diperhatikan bahawa kelajuan pemprosesan pengecualian sekurang -kurangnya 30,000 kali lebih perlahan daripada kod kembali. Selain itu, data ini hanya anggaran minimum, dan perbelanjaan prestasi tambahan akan dihasilkan dalam senario aplikasi sebenar.

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:

(Nota: Teks asal tidak mempunyai bahagian kod ujian kod kembali, yang mengekalkan ruang letak di sini)
<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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan