Могу ли я уменьшить компиляцию GWT 2.7 до одной перестановки

Шаг 1. Создайте новый проект GWT с помощью подключаемого модуля Google для Eclipse с GWT 2.7.0.

Шаг 2. Измените файл .gwt.xml, чтобы установить компоновщик на xsiframe.

 <add-linker name="xsiframe" />

Шаг 3. Скомпилируйте проект.compile-mappings.txt показывает 6 записей - 5 с браузером и один без

1737AD1FC03D9513CE7A9D806F3E21C3.cache.js
user.agent gecko1_8

263432CEAA7C118D6FF27B488528C7EF.cache.js
user.agent safari

3269EBD405702A848A8B082982A76805.cache.js
user.agent ie8

6ED13A4E7283CDD9B28BFDD052C8EC05.cache.js
user.agent ie9

EFB063823A3113BEB2C481F22CA51E1D.cache.js
user.agent ie10

Devmode:devmode.js

Шаг 4. Измените файл .gwt.xml, чтобы задать один браузер с параметром user.agent, равным gecko1_8.

<set-property name="user.agent" value="gecko1_8,ie9,ie10,safari" />
<set-property-fallback name="user.agent" value="gecko1_8" />
<set-property name="user.agent" value="gecko1_8" />

<!-- allow Super Dev Mode -->
<add-linker name="xsiframe" />

Шаг 5. Скомпилируйте проект.compile-mappings.txt показывает две записи без браузера.

FE1687414F0A6033B32B0F59A213285B.cache.js

Devmode:devmode.js

Кроме того, журнал компиляции показывает

Compiling module com.appbootup.explore.gwt.HelloWorld
   Compiling 1 permutation
      Compiling permutation 0...
   Compile of permutations succeeded
Linking into D:\workspace\GWork\HelloWorld\war\helloworld
   Link succeeded
   Compilation succeeded -- 6.434s

Вопрос 1. Стоит ли нам вторая перестановка "devmode.js" время сборки?

Вопрос 2. Есть ли способ сократить это до 1 перестановки, исключив "devmode.js". ?


person appbootup    schedule 03.01.2015    source источник
comment
Примечание: 2.7 по умолчанию использует компоновщик xsiframe, поэтому шаг 2 не требуется.   -  person Thomas Broyer    schedule 04.01.2015


Ответы (1)


Вопрос 1. Вторая перестановка "devmode.js" стоит нам времени сборки?

Нет, этот файл создается по шаблону и ничего не стоит.

Вопрос 2. Есть ли способ сократить это до 1 перестановки, удалив «devmode.js». ?

Поскольку ответ на вопрос 1 «нет», я не уверен, что это актуально. Сколько времени занимает копирование одного файла? Если бы это заняло больше нескольких мс, я был бы очень удивлен.


Для более быстрой компиляции используйте режим суперразработчика — готов поспорить, что 6,4 секунды сократятся до менее секунды. Конечно, это не годится для сборки для производства, но позволяет просто обновить браузер и очень быстро сгенерирует новую перестановку на основе изменений, которые у вас есть в node.

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

person Colin Alworth    schedule 03.01.2015
comment
:( . Я так и предполагал. Мы застряли с мега-сборкой с 300+ экранами. Текущее время сборки составляет 1 час на очень мощной машине только для одного браузера gecko1_8. Я пытаюсь выяснить, что еще мы можем попробовать. - person appbootup; 04.01.2015
comment
Дополнительные запросы к Колину и @Thomas stackoverflow.com/questions/27763549/ - person appbootup; 04.01.2015
comment
Тогда ваш вопрос вводит в заблуждение - вы должны задавать вопрос, на который вы хотели получить ответ, а не вопрос, который, как вы думали, даст ответ, который вы хотели;). Шесть секунд — это неплохо, час — совсем другое дело. Будете ли вы присутствовать на GWT.create в этом месяце? С удовольствием посмотрел бы лично. - person Colin Alworth; 04.01.2015
comment
Мы не сможем посетить GWT.create. Просто позже можно будет посмотреть ролики. Я просто упростил вопрос с проектом helloworld. Устранение перестановок выглядело как легко висящий фрукт в оптимизации сборки. Теперь я просматриваю отчеты SOYC в поисках подсказки, как улучшить сборку. - person appbootup; 05.01.2015
comment
В качестве дополнительной заметки. Не могли бы вы взглянуть на это и поделиться своими комментариями? >docs.google.com/spreadsheets/d/ - person appbootup; 05.01.2015
comment
Добавил кучу комментариев, но меня беспокоит, откуда вы берете свои данные и как вы определяете «увеличение»/«уменьшение». Нужно намного больше деталей, чтобы это было полезно. - person Colin Alworth; 05.01.2015
comment
Спасибо за комментарии. Мы стартовали сегодня. Мы обновим лист дополнительными данными. По сути, это наше первое впечатление от приветствия или чтения документов, а не тестирование в реальном мире. Вскоре у нас должно быть намного больше данных и выводов, основанных на реальных данных. - person appbootup; 05.01.2015