3
有什麼方法可以設置gwt compiler
,以便每個排列都被編譯完成,然後再繼續下一個排列?每次編譯一個排列?
目前,即使Xmx
已經在64位系統上設置爲2GB,我的堆內存已經用盡了。我不介意它只要能夠完成所有排列編譯就可以緩慢運行
有什麼方法可以設置gwt compiler
,以便每個排列都被編譯完成,然後再繼續下一個排列?每次編譯一個排列?
目前,即使Xmx
已經在64位系統上設置爲2GB,我的堆內存已經用盡了。我不介意它只要能夠完成所有排列編譯就可以緩慢運行
設置localWorkers
到1
(或者甚至更好:核心數減1)。
我們使用Maven和在默認輪廓我們建立一個FastCompiledGuvnor
模塊,並在全輪廓我們做真正的Guvnor
模塊:
<plugin>
<!--use -Dgwt.compiler.skip=true to skip GWT compiler-->
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>2.1.0-1</version>
<configuration>
<!-- The default profile needs to be fast, so we only build 1 permutation { -->
<module>org.drools.guvnor.FastCompiledGuvnor</module>
<draftCompile>true</draftCompile>
<!-- } -->
<runTarget>org.drools.guvnor.Guvnor/Guvnor.html</runTarget>
<compileSourcesArtifacts>
<compileSourcesArtifact>org.drools:drools-factconstraint</compileSourcesArtifact>
<compileSourcesArtifact>org.drools:drools-ide-common</compileSourcesArtifact>
</compileSourcesArtifacts>
<gwtSdkFirstInClasspath>true</gwtSdkFirstInClasspath><!-- The GWT compiler must the correct JDT version -->
<localWorkers>2</localWorkers><!-- Using all workers can temporarily hang the mouse and isn't much faster -->
<extraJvmArgs>-Xmx512m</extraJvmArgs>
</configuration>
...
</plugin>
... profile ...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<configuration>
<!-- Build all GWT permutations and optimize them -->
<module>org.drools.guvnor.Guvnor</module>
<draftCompile>false</draftCompile>
</configuration>
</plugin>
嘗試增加XMX超過2GB。我的項目也不是很大,它需要1GB來編譯。 – 2011-02-11 14:39:45
對於一些編譯器(不知道是否包含GWT),超出2GB實際上會讓某些操作系統更糟糕。當你爲一個進程提供更多的內存時,實際上你將交換空間的內存減少了。真的很奇怪,反直覺。通常2GB是2010年計算機上的汗點。 – 2011-02-14 09:04:38