Что наверху связано с дополнительным методом во времени выполнения? (.NET) [дубликат]

Попробуйте один из них:

  1. псевдоним столбца Use:

    ORDER BY RadioServiceCodeId, позиция столбцов Использования RadioService

  2. :

    ORDER BY 1,2

можно только заказать столбцами, которые на самом деле появляются в результате ОТЛИЧНОГО запроса - базовые данные не доступны для упорядочивания на.

8
задан Community 23 May 2017 в 12:06
поделиться

2 ответа

Накладных расходов нет. Это просто статический метод, вызываемый с другим синтаксисом. Сгенерированный IL является обычным вызовом.

Другими словами, накладные расходы для вашего метода расширения точно такие же для

writer.WriteElementString(name, data);

, как если бы вы только что вызвали

XmlWriterExtensions.WriteElementString(writer, name, data);

... потому что сгенерированный IL будет точно таким же

С точки зрения производительности «несколько тысяч раз в секунду» - это ничто . Накладные расходы на наличие дополнительного уровня стека на этом уровне будут совершенно незначительны ... даже если метод не встроен, что, я считаю, очень вероятно в данном случае.

Однако нормальное правило производительности применяется: это все предположения, пока вы не измерили. Или, по крайней мере, фактическое попадание в этом случае - предположение; "

20
ответ дан 5 December 2019 в 07:12
поделиться

Никаких накладных расходов, это просто синтаксический сахар, простая абстракция компилятора.

3
ответ дан 5 December 2019 в 07:12
поделиться