try-catch मेरे C# कोड के निष्पादन को तेज़ क्यों बनाता है?
सभी को नमस्ते! मैं एक शुरुआती C# डेवलपर हूँ और एक बहुत ही अजीब स्थिति का सामना किया है। मेरे पास एक method है जो बड़े डेटा array पर गणितीय संचालन करता है। मैंने देखा कि यदि मुख्य loop को try-catch में लपेटा जाए, तो कोड बिना इसके तेज़ चलता है। अंतर लगभग 15-20% है 10 मिलियन iterations पर।
यहाँ एक सरल उदाहरण है:
```csharp
// धीमा विकल्प (try-catch के बिना)
public void ProcessWithoutTryCatch(int[] data)
{
for (int i = 0; i < data.Length; i++)
{
data[i] = data[i] * 2 + 1;
}
}
// तेज़ विकल्प (try-catch के साथ)
public void ProcessWithTryCatch(int[] data)
{
try
{
for (int i = 0; i < data.Length; i++)
{
data[i] = data[i] * 2 + 1;
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
```
मैंने .NET 6 और .NET 8 पर परीक्षण किया, परिणाम लगातार दोहराया जाता है। इस दौरान exceptions कभी नहीं फेंके जाते — array गारंटीशुदा रूप से बाहर नहीं जाता।