ускорить процесс компиляции GWT - PullRequest
2 голосов
/ 18 сентября 2011

Я использую ant для компиляции gwt, но компиляция занимает много времени. около 50 сек.

Как я могу ускорить процесс компиляции.

Муравьиная задача

<target name="gwtc" description="GWT compile to JavaScript">
    <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler">
        <classpath>
            <pathelement location="${src.dir}"/>
            <path refid="compile.classpath"/>
        </classpath>
        <jvmarg value="-Xmx256M"/>
        <!--<arg value="-style"/>-->
        <!--<arg value="DETAILED"/>-->
        <arg value="com.typingApplication.TypingApplication"/>
        <arg value="-war" />
        <arg value="${build.dir}" />
    </java>
</target>

Ответы [ 2 ]

5 голосов
/ 18 сентября 2011

Добавьте параметр -localWorkers. Это указывает на то, что перестановки выполняются параллельно. Особенно на многоядерной машине это имеет смысл. Параметром для аргумента является количество параллельных прогонов. Я протестировал несколько комбинаций и обнаружил, что 4 дает лучшие результаты (самые быстрые, даже когда я тестировал его на 6-ядерном / 12 ГБ компьютере). Так что просто попробуйте, что лучше всего работает в вашей ситуации, и поэкспериментируйте со значением памяти. например, попробуйте 512 вместо 256.

 <arg value="-localWorkers" />
 <arg value="4" />

Второй вариант - -draftCompile. Это пропускает некоторые оптимизации компиляции, поэтому вы не хотите использовать этот вариант в производственном выпуске. Но в разработке это экономит время компиляции.

Или купите более быструю машину ;-) В этом случае имеет значение скорость процессора

2 голосов
/ 20 сентября 2011

Вы также можете проверить презентацию Рэя Кромвеля о Оптимизирующем GWT-компиляторе на Google I / O 2010. Ускорение работы компилятора начинается в 40:00 и предоставляет бесценную информацию

также презентация Дэвида Чандлерса Высокопроизводительный GWT на Google I / O 2011. Тема компилятора начинается с 36: 40.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...