Ускорение сборки додзё
Мы запускаем сборку нашего приложения с использованием Dojo 1.9, а сама сборка занимает слишком много времени. Где-то по линии 10-15 минут.
Наше приложение не очень большое. Может быть, 150K LOC. Ничего фантастического. Кроме того, при локальной сборке с использованием Node это занимает менее минуты.
Однако мы запускаем сборку на сервере RHEL с большим количеством места и памяти, используя Rhino. Кроме того, задачи вызываются через Ant.
Мы также используем Shrinksafe в качестве механизма сжатия, что также может быть проблемой. Кажется, что Shrinksafe сжимает всю библиотеку Dojo (что огромно) при каждом запуске сборки, что кажется глупым.
Есть ли что-нибудь, что мы можем сделать, чтобы ускорить это? Или мы что-то не так делаем?
1 ответ
Да, это неординарно. Я никогда не видел, чтобы сборка занимала так много времени, даже на процессоре Atom.
В дополнение к предыдущему предложению использовать Node.js, а не Rhino (безусловно, самый большой убийца производительности сборки), если весь ваш код был правильно упакован в слои, вы можете установить optimize
очистить строку (не оптимизировать) и layerOptimize
в "closure"
(Закрывающий компилятор) в вашем профиле сборки, поэтому через оптимизатор будут проходить только слои.
Кроме этого, вы должны убедиться, что в системе, на которой вы выполняете сборку, что-то не так. (Файлы сборки находятся на NAS с медленной связью? Вентилятор CPU с принудительной загрузкой, заставляющий процессоры разгоняться? Древний процессор только с одним ядром? Недостаточно / плохое ОЗУ? Кто-то еще решил установить на него сервер TF2 и не сказал вам?)