将GWT编译成javascript需要花费很多时间



我有一个大项目,通过ANT编译需要近15分钟。你可以看到我已经用平行机试过了,但没有成功。也尝试了localWorkers,但没有观察到太大的差异。我使用i3处理器和4 GB RAM。请建议所有优化参数快速编译此代码。但它必须是生产质量:)。

<target name="largeProject-gwtc"  depends="largeProject-compile" description="GWT compile to JavaScript">
    <!--parallel threadsperprocessor="1"-->
        <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler">
            <classpath>
                <pathelement location="../common/src"/>
                <pathelement location="../largeProject/src"/>
                <pathelement location="build/largeProject/war/WEB-INF/classes"/>
                <fileset dir="build/largeProject/war/WEB-INF/lib" includes="*.jar"/>
                <pathelement location="${gwt.sdk}/gwt-user.jar"/>
                <fileset dir="${gwt.sdk}" includes="gwt-*.jar"/>
            </classpath>
            <!-- add jvmarg -Xss16M or similar if you see a StackOverflowError -->
            <jvmarg value="-Xmx2048M"/>
            <jvmarg value="-XX:MaxPermSize=1024m"/>
            <arg line="-war"/>
            <arg value="build/largeProject/war"/>
            <!-- Additional arguments like -style PRETTY or -logLevel DEBUG -->
            <arg line=""/>
            <arg value="com.test.web.largeProject"/>
        </java>
    <!--/parallel-->
</target>

不完全是。你可以做一些技巧来加速编译器,但这主要适用于开发(不是生产就绪状态)。

所以不,没有魔法会来救你。GWT编译很慢,这是目前GWT最大的缺点之一。

您可以尝试使用64位JDK,如果可能的话,使用该JDK的7版。我已经在现有的项目上尝试了这个方法,这些项目以前是用32位版本的JDK 6或5编译的,仅仅通过切换到JDK 7 64位,我就有了一些不错的速度提升,有时高达30-40%。另外,如果可能的话,在Windows机器上做这件事,最好是Windows XP 64位,其次是Windows 7 64位。冒着被这个论坛上的人激怒的风险,我要说的是:从我目前所尝试的来看,JDK在Windows上的实现是最快的,其次是Linux,最后是OS X上JDK的实现是最慢的。对于我正在做的事情来说,这可能是正确的,但请尝试一下,为什么不呢?

相关内容

  • 没有找到相关文章

最新更新