Скорость компиляции слишком низкая для проекта (около 2000 строк)

Сначала код действительно прост (менее 500 строк), и компиляция может быть выполнена за 5 секунд.

Но с ростом кодов, сборник становится все медленнее (требуется около 20 секунд до с, и это займет больше времени с ростом кода

Теперь у меня есть файлы:

Сокет, AsyncSocket, WebsocketHelper, AsyncWebsocketServer, MonitorMessage, HtmlHelper, JsonHelper (абстракция библиотеки Янссона), StringHelper, SqlHelper, Logger, AddLocalServerWindow, LandPointWindow, ServerMonitorProxyDlg

Настоящая проблема в том, что компиляция занимает много времени каждый раз, когда я хочу внести небольшое изменение в проект

например

Я только хочу изменить значение, чтобы протестировать что-то, нужно около 20 секунд, чтобы скомпилировать

И затем я хочу добавить функцию JsonHelper :: buildArray (), мне нужно как минимум 2 * 20 секунд для компиляции:

Когда я закончу реализацию функции, я скомпилирую, чтобы увидеть, может ли она быть скомпилирована правильно, это первые 20 секунд. Затем интегрируйте этот метод в систему и скомпилируйте, это займет еще 20 секунд.
Дело в том, что каждый раз, когда я пишу около 5 строк кода, я собираю его, чтобы увидеть, есть ли синтаксические ошибки (это плохой привычка в такой ситуации?)

Другая проблема заключается в том, что я всегда допускаю синтаксическую ошибку в коде (каждые 10-20 строк), поэтому мне нужно перекомпилировать код снова и снова. Мало времени на компиляцию тратится на код, который я только что написал (эта часть меня действительно волнует). Много времени на компиляцию тратится на стабильный код (без ошибок, я писал раньше).

Как сделать эту ситуацию лучше? Любое предложение приветствуется

0

Решение

Время компиляции C # редко является проблемой. Компилятор Microsoft C # очень быстрый по сравнению с компилятором C ++. Я работаю над большим проектом C ++, и вот что мы делаем, чтобы уменьшить длительное время сборки:

  • Уменьшите зависимости. Если вы используете только указатель или ссылку на тип в заголовочном файле, объявите тип вперед вместо включения.
  • Получите быструю машину. Мы разрабатываем на 8-ядерном i7 с 16 ГБ оперативной памяти. Это достаточно большой, чтобы все исходное дерево помещалось в кеш. ~ 135000 строк кода компилируются за 76 секунд, и это часто больше, чем 10 секунд, потому что изменилось только несколько файлов.
  • В зависимости от приложения, используйте более быстрый компилятор. У нас есть преимущество в разработке кроссплатформенного приложения, поэтому я разрабатываю для Linux и использую g ++, который в несколько раз быстрее, чем Microsoft Visual C ++. лязг еще быстрее.
  • Потратьте больше времени на планирование вашего интерфейса. Старайтесь не изменять заголовки слишком часто. Одна вещь, которая может помочь с этим при использовании в модерации, это PIMPL идиома.
4

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector