2011-02-11 3 views
3

gwt compiler을 설정하는 방법이 있습니까? 다음 순열을 진행하기 전에 각 순열을 완료 할 때까지 컴파일 하시겠습니까?시간당 순열을 하나씩 컴파일 하시겠습니까?

현재 Xmx이 이미 64 비트 시스템에서 2GB로 설정되었지만 이미 힙 메모리가 부족합니다. 나는 모든 순열을 컴파일하는 것을 끝낼 수있는 한 느리다는 것을 염두에 두지 않는다.

+0

시도. 내 프로젝트도 그렇게 크지 않다. 컴파일하는데 1GB가 필요하다. –

+0

일부 컴파일러의 경우 (GWT가 포함되어 있는지 확실하지 않음) 실제로 2GB를 초과하면 일부 운영 체제에서 더 악화됩니다. 프로세스에 더 많은 메모리를 할당하면 실제로 스왑 공간에 더 적은 메모리를 할당하게됩니다. 정말 이상하고 반 직관적입니다. 보통 2GB는 2010 년부터 컴퓨터에 땀을 흘리는 곳입니다. –

답변

2

localWorkers에서 1으로 설정한다 (코어 수 -1).

우리는 받는다는을 사용하고 기본 프로파일에 우리는 FastCompiledGuvnor 모듈을 구축하고 전체 프로필에 우리가 실제 Guvnor 모듈을 수행 2기가바이트 이상의 -Xmx을 증가

<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> 
+0

프로젝트가 얼마나 큰가요? 큰 xmx가 필요한만큼 잘못 생각하나요? 나는 여전히 힙 크기에서 벗어나 로컬 워커 1에서 벗어나고있다. 나중에 생산을 위해 모든 순열을 컴파일해야한다. – cometta

+0

그것은 크다. 모든 36 (6 * 6) 순열을 수행하는 데 1 분 이상 소요되며 앞으로 더 많은 언어를 포함 할 수 있습니다. –