Насколько велико снижение производительности компиляции, когда не нужны ИСПОЛЬЗОВАНИЯ? - PullRequest
0 голосов
/ 28 июля 2010

Мне просто любопытно, если ненужные ИСПОЛЬЗОВАНИЯ в моем коде замедляют компиляцию решения Visual Studio. Со временем в моем коде появляются новые и новые применения из-за изменений в коде, когда некоторые функции добавляются, переопределяются и иногда удаляются.

Должен ли я заботиться о количестве ИСПОЛЬЗОВАНИЙ? Как я могу удалить ненужные ИСПОЛЬЗОВАНИЯ?

Спасибо за ответы!

(Если предполагается, что этот вопрос является вопросом вики сообщества, пожалуйста, дайте мне знать в комментариях, и я изменю его)

Ответы [ 5 ]

2 голосов
/ 28 июля 2010

Если вы используете VS2008 / 2010: просто щелкните правой кнопкой мыши на использовании и выберите «Организовать использования» -> «Удалить и отсортировать» из контекстного меню. Компиляция может стать немного быстрее, но я думаю, что в большинстве случаев это не заметно.

1 голос
/ 28 июля 2010

Возможно, вы подозреваете, что оператор using ведет себя подобно #include в C или C ++ - последний может иметь заметное замедление скорости компиляции. Это не относится к делу. using оператор в C # более или менее просто синтаксический ярлык, поэтому вам не нужно писать 20 раз

System.Collections.Generic.List<T>

когда вам нужен общий список 20 раз в вашем классе. Не

using System.Collections.Generic;

в начале вашего файла класса вызывает компилятор C # для компиляции некоторого кода List, это всего лишь

var x = new List<int>();

или (если вы предпочитаете)

var x = new System.Collections.Generic.List<int>();

позже в вашем коде, что делает заметную разницу. Я написал noteable , потому что на самом деле, имея некоторые ненужные using, компилятору придется выполнить какой-то дополнительный поиск пространства имен, но в большинстве практических случаев вы не заметите никакой разницы,

1 голос
/ 28 июля 2010

Только ускорение во время компиляции, без изменений в производительности.В VS есть эта функция под названием «Организация использования» с опцией удаления и сортировки, которая удаляет неиспользуемые использования и организует все остальное.В основном для чистого кода я бы использовал это.Время компиляции не должно показывать такой большой разницы в любом случае, если вы не слишком много используете.

1 голос
/ 28 июля 2010

Они не имеют никакого отношения к производительности вашего приложения. Забавно, потому что я только что исследовал это сам на днях. ScottGu и Hanselman оба писали об этом в прошлом. Ссылки идут в несколько раз.

Уменьшение использования может ускорить время компиляции, особенно в C # 3.0, но не окажет никакого влияния на производительность Кроме того, чрезмерные операторы использования будут загромождать Intellisense и ReSharper.

1 голос
/ 28 июля 2010

using операторы переводятся в "try finally", поэтому вы не должны видеть никаких проблем с производительностью.

...