Сообщения об исключениях и производительность C#: создается ли строка сообщения об исключении, даже если исключение не сC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Сообщения об исключениях и производительность C#: создается ли строка сообщения об исключении, даже если исключение не с

Сообщение Anonymous »

Это может пахнуть микрооптимизацией, но в данном случае я запускаю цикл десятки миллионов раз, и производительность имеет решающее значение (и является серьезной проблемой на данный момент).
В этом сценарии во время каждой итерации цикла я выполняю следующую проверку:

Код: Выделить всё

   if (this.isSafeMode && bar.Period != this.SourcePeriod)
{
throw new InvalidOperationException(
"Attempted to process a bar that does not match the market context's source period. " +
$"Processed bar period: [{bar.Period}] " +
$"Market context source period: [{this.SourcePeriod}]");
}
Вопрос 1. Создается ли эта строка сообщения об исключении в каждом цикле, даже если исключение не генерируется, создавая ненужные накладные расходы? (В других случаях мне приходится создавать довольно дорогие строки исключений — это простой пример)
Вопрос 2: Если вопрос №1 верен, можно ли создать собственный тип исключения, который принимает аргументы и строит строку сообщения из этих аргументов, чтобы избежать ненужных накладных расходов? (Или, какова альтернатива?)
К вашему сведению: это исключение не нужно будет переводить на разные языки (если бы это было так, собственное исключение могло бы иметь больше смысла).< /p>
Спасибо, что уделили время!

Подробнее здесь: https://stackoverflow.com/questions/787 ... ing-create
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»