Visual Studio 2017 командной строки сборки медленнее, чем в IDE - PullRequest
0 голосов
/ 29 января 2020

Когда я запускаю Visual Studio 2017 из командной строки (cmd), сборка происходит почти в 3 раза медленнее, чем сборка в IDE.

Командная строка:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.com My_Project.sln /Project My_Solution /Rebuild Release  

Я настраиваю систему непрерывной интеграции (GitLab) и хочу, чтобы компилятор запустился до того, как разработчик нажмет коммиты. Медленная сборка командной строки не позволит разработчикам использовать систему CI.

Я ищу методы для ускорения процесса построения командной строки, желательно, чтобы он был быстрее или равным скорости при сборке из IDE.

Среда:

  • Процессор: Intel® Xeon® R-2102 CPU @ 2,90 ГГц 2,90 ГГц
  • Установленная память (ОЗУ): 32,0 ГБ (Используется 31,7 ГБ)
  • Тип системы: 64-разрядная операционная система (Windows 7)
  • Visual Studio Professional 2017, версия 15.9.16
  • NUMBER_OF_PROCESSORS = 4
  • Жесткий диск, 581 ГБ свободно.
  • Проект использует C ++ и MF C для GUI.

1 Ответ

0 голосов
/ 30 января 2020

/ Rebuild Этот переключатель выполняет ту же функцию, что и команда меню Rebuild Solution в интегрированной среде разработки (IDE) - очистит, а затем построит решение с нуля, игнорируя все, что было сделано ранее.

Когда вы создаете проекты в IDE с параметром сборки, который больше, чем Rebuild, он будет выполнять инкрементную сборку: если он не думает, что ему нужно перестроить проект, он не будет. Он также может использовать частично собранные биты проекта, если они не изменились. Это является причиной того, что многие проекты создаются в командной строке, но не встроены в IDE.

Чтобы ускорить сборку, вы можете изменить свойство на / t: build в командной строке или выбрать параметр перестроения когда вы встраиваете в IDE.

Кроме того, есть много факторов, которые влияют на скорость построения, например, параллельное. Когда мы создаем несколько проектов в IDE, значение параллели по умолчанию равно 8, Инструменты-> Параметры-> Проекты и решения-> Построение и запуск:

enter image description here

Таким образом, когда вы сравниваете скорость сборки между командной строкой и IDE, вы должны убедиться, что все соответствующие настройки одинаковы для командной строки и IDE.

...