воскресенье, 25 октября 2009 г.

QMake и jom

Не так давно я писал про distcc. Меня он заинтересовал потому, что MinGW уж очень долго компилирует на моей машине под линуксом. Поэтому я и начал искать, как бы этот процесс распараллелить на две машины- локальную и сервер. В итоге нашелся distcc- бесплатный и довольно живой проект, не то что прочие инструменты в этой области.

Под виндоуз экспериментировать не очень хотелось. Во-первых, мой виндоуз компьютер довольно мощный, и время компиляции чего-либо всегда меня устраивало (кроме, конечно, пересборки всей Qt с помощью nmake). Во-вторых, машина под виндоуз у меня одна, а вникать в то, как компилировать виндоуз-проект на убунту-сервере мне не очень хотелось. К тому же, пару лет назад, я уже искал что-нибудь бесплатное для MinGW/make под виндоуз и ничего кроме того же distcc не нашел. Причиной моего интереса тогда было простое любопытство- на прошлой работе мы использовали IncrediBuild, который позволяет распараллелить компиляцию из MS Visual Studio на несколько машин, где эта самая студия установлена. Решение это вовсе не бесплатное, но для компаний вполне приемлимое.

Хорошая новость в том, что Qt Creator с версии 1.2.90 под Windows использует jom вместо nmake. Этот инстумент позволяет задействовать все ядра процессора, а не только одно, как nmake. Что, как выяснилось, для меня самое то- мой старый пень- двуядерный. Выигрыш в скорости сборки плагина HelloWorld со всеми библиотеками- 2 мин (25%). Я надеялся на большее, но и 6 минут вместо 8 совсем неплохо.

Также стоит упомянуть и то, что тролли задумались над будущим QMake- или продолжать его развивать и добавить несколько нужных функций, в том числе и распределенную компиляцию, пытаясь при этом сохранить обратную совместимость, или же перейти на какой-то другой билд-инструмент. См. вот этот и этот посты.

Комментариев нет:

Отправить комментарий