Каковы реальные накладные расходы на try/catch в С#?

Я не эксперт в языковых реализациях catch (так что отнеситесь к этому optimize с долей скептицизма), но .net я думаю, что одна из самых dotnet больших затрат — раскрутка c#.net стека и его сохранение для dot-net трассировки стека. Я подозреваю, что optimizer это происходит только тогда, когда c# выбрасывается исключение dotnet (но я не знаю), и если это c-sharp так, это будет приличного catch размера скрытой стоимости catch каждый раз, когда выдается .net исключение... так что это try не похоже на то, что вы просто try прыгаете с одного места в optimization коде к другому, там много optimizer всего происходит.

Я не думаю, что c-sharp это проблема, пока вы используете optimisation исключения для ИСКЛЮЧИТЕЛЬНОГО efficiency поведения (так что это не c# ваш типичный ожидаемый путь optimisation через программу).

c#

.net

performance

optimization

try-catch

2022-09-15T18:15:36+00:00
Вопросы с похожей тематикой, как у вопроса:

Каковы реальные накладные расходы на try/catch в С#?