Como otimizar o desempenho da compilação gradle em relação à duração da compilação e ao uso da RAM?

Atualmente, estou mudando de ant para gradle para o meu aplicativo da web de vários módulos e, no momento, parece que a versão atual do Gradle (M9) pode estar em seus limites. Mas talvez (espero) seja apenas um problema meu não entender os conceitos de Gradle o suficiente ou não conhecer o "interruptor de aumento de desempenho mágico". Ficaria feliz com qualquer dica sobre como o desempenho da compilação poderia ser otimizad

Os problemas: vários minutos se passam antes do primeirocompileJava é exibido e, mesmo que nada tenha mudado nas fontes, o processo está em execução por pelo menos 7 minutos até travar na metade:testClasses (em vários subprojetos) com a seguinte mensagem:

* What went wrong:
Could not resolve all dependencies for configuration ':mysubproject_X:testRuntime'.
> Java heap space

O projeto consiste em cerca de 30 subprojetos (parcialmente interdependentes), o build.gradle sendo mais ou menos o mesmo e é usado para criar um arquivo jar de cada subprojeto, por exemplo,

sourceSets {

    main {
        java {
            srcDirs 'src'
        }
    }
}

dependencies {

    compile project(':mysubproject_A')
    compile project(':mysubproject_B')
    compile project(':mysubproject_E')

    compile group: 'commons-lang', name: 'commons-lang', version: '2.2'

}

// copy all non-java files from src
copy {
    from sourceSets.main.java.srcDirs
    into "$buildDir/classes/main"
    exclude '**/*.java'
}

jar {
}

Tentei resolver o problema de espaço na pilha aumentando o tamanho máximo da memória para 1024M, mas não ajudou. Meu arquivo build.gradle principal fica assim:

            sourceCompatibility = 1.6
            version = 0.5

            useFindBugs = false

            apply plugin: 'java'

            configurations {
            }

            repositories {
                mavenCentral()
                mavenRepo url:"http://repository.jboss.org/maven2", artifactUrls: ["https://repository.jboss.org/nexus/content/repositories/public","http://opensource.55minutes.com/maven-releases"]
            }


            dependencies {
            }

            buildscript {
                repositories {
                    mavenRepo url: 'http://gradle.artifactoryonline.com/gradle/plugins'
                    flatDir(dirs: "$projectDir/lib")
                }

                dependencies {
                    classpath "org.gradle.plugins:gradle-idea-plugin:0.3.1"
                }
            }

            subprojects {
                apply plugin: 'java'
                apply plugin: 'idea'

                repositories {
                    mavenCentral()
                    mavenRepo url:"http://repository.jboss.org/maven2", artifactUrls: ["https://repository.jboss.org/nexus/content/repositories/public","http://opensource.55minutes.com/maven-releases"]
                }

                dependencies {
                    testCompile 'junit:junit:4.8.2'
                }

                compileJava {
                    options.encoding = 'UTF-8'
                    options.fork (memoryMaximumSize: '1024m') 
                }

                javadoc {
                    options.encoding = 'UTF-8'
                }

                test {
                    testReportDir = file(rootProject.testReportDir)
                    forkEvery = 1
                    jvmArgs = ['-ea', '-Xmx1024m']
                }
            }


            dependsOnChildren()

            task wrapper(type: Wrapper) {
                gradleVersion = '1.0-milestone-9'
            }

questionAnswers(16)

yourAnswerToTheQuestion