Ускорение компиляции Qt проекта в IDE Qt Creator

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

Оказывается, в 2017 - му году, если не предпринять специально меры, по умолчанию при компиляции используется один поток! Долой многоядерные процессоры ... . К счастью распараллелить компиляции С++ проектов в Qt Creator достаточно просто. Есть несколько путей это сделать, например редактированием pro файла с добавлением флагов, но самый простой и самый эффективный, судя по бенчмаркам, это использование утилиты JOM. И так, качаем архив утилиты https://wiki.qt.io/Jom , распаковываем и кидаем содержимое в папку Qt5.9mingw53_32/bin. Далее открываем Qt Creator, настраиваем сборку конкретного проекьа как показано ниже:

Qt Creator JOM parallel compilation

Собственно, на этапе make build and clean нужно указать путь к утилите JOM. Касательно величины ускорения, в текущем состоянии проекта UnoSDR, полная компиляция на дефолтных настройках занимала 11 мин 51 сек. С утилитой jom - 3 мин 40 сек. Процессор ноутбучный 4 ядра. Выводы делайте сами.

Для Linux можно указать в опции "Make arguments" строку -jX, где X - количество потоков, на которые распараллеливается компиляция.