Zoeken…


Profileren van een build

Voordat u begint met het afstemmen van uw Gradle-build voor prestaties, moet u een basislijn opstellen en uitzoeken welke delen van de build de meeste tijd kosten. Om dit te doen, kunt u uw build profileren door het argument --profile toe te voegen aan uw Gradle-opdracht:

gradle --profile
./gradlew --profile

Nadat de build is voltooid, ziet u een HTML-profielrapport voor de build onder ./build/reports/profile/ , dat er ongeveer zo uitziet:

HTML-profielrapportvoorbeeld

Door op de tabbladen naast Samenvatting te klikken, kunt u een meer gedetailleerd overzicht zien van waar tijd wordt besteed.

Configureer op aanvraag

Als het profileren van uw build veel tijd besteedt aan het configureren van projecten , kan de optie Configure on Demand uw prestaties verbeteren.

U kunt de modus Configureren op aanvraag inschakelen door $GRADLE_USER_HOME/.gradle/gradle.properties ( ~/.gradle/gradle.properties standaard te ~/.gradle/gradle.properties ) en org.gradle.configureondemand .

org.gradle.configureondemand=true

Om het alleen voor een specifiek project in te schakelen, bewerkt u in plaats daarvan het bestand gradle.properties dat project.

Als Configure on Demand is ingeschakeld, configureert Gradle in plaats van alle projecten vooraf te configureren, alleen projecten die nodig zijn voor de taak die wordt uitgevoerd.

Uit de Gralde-handleiding :

Configuration on demand-modus probeert alleen projecten te configureren die relevant zijn voor de gevraagde taken, dwz het voert alleen het build.gradle bestand uit van projecten die deelnemen aan de build. Op deze manier kan de configuratietijd van een groot project met meerdere projecten worden verkort. Op de lange termijn wordt deze modus de standaardmodus, mogelijk de enige modus voor uitvoering van Gradle-build.

JVM-geheugengebruiksparameters afstemmen voor Gradle

U kunt geheugenlimieten (of andere JVM-argumenten) die worden gebruikt voor Gradle-builds en de Gradle Daemon instellen of verhogen door $GRADLE_USER_HOME/.gradle/gradle.properties ( ~/.gradle/gradle.properties ) standaard te ~/.gradle/gradle.properties en org.gradle.jvmargs .

Als u deze limieten alleen voor een specifiek project wilt configureren, bewerkt u in plaats daarvan het bestand gradle.properties dat project.

De standaardinstellingen voor geheugengebruik voor Gradle-builds en de Gradle Daemon zijn:

org.gradle.jvmargs=-Xmx1024m -XX:MaxPermSize=256m

Dit maakt een algemene maximale geheugentoewijzing (heap-grootte) van 1 GB mogelijk en een maximale geheugentoewijzing voor permanente "interne" objecten van 256 MB. Wanneer deze formaten worden bereikt, vindt Garbage Collection plaats, wat de prestaties aanzienlijk kan verminderen.

Ervan uitgaande dat u nog geheugen hebt, kunt u deze eenvoudig als volgt verdubbelen:

org.gradle.jvmargs=-Xmx2024m -XX:MaxPermSize=512m

Merk op dat je geen voordeel meer zult hebben van het verhogen van XX:MaxPermSize sneller dan wanneer Xmx verhoogt, wordt het stoppen met heilzaam worden.

Gebruik de Gradle Daemon

Je kunt de Gradle Daemon inschakelen om de prestaties van je builds te verbeteren.

De Gradle Daemon houdt het Gradle Framework geïnitialiseerd en actief en slaat projectgegevens in het geheugen op om de prestaties te verbeteren.

Voor een enkele build

Om de Daemon voor een enkele build in te schakelen, kunt u eenvoudig het argument --daemon doorgeven aan uw gradle opdracht of Gradle Wrapper-script.

gradle --daemon
./gradlew --daemon

Voor alle builds van een project

Om de Daemon in te schakelen voor alle builds van een project, kunt u toevoegen:

org.gradle.daemon=true

Naar het bestand gradle.properties uw project.

For All Builds

Als u de Gradle Daemon standaard wilt inschakelen, bewerkt u voor elke build die door uw gebruikersaccount op uw systeem wordt gemaakt $GRADLE_USER_HOME/.gradle/gradle.properties ( ~/.gradle/gradle.properties standaard) en voegt u deze regel toe:

org.gradle.daemon=true

U kunt dit ook doen met een enkele opdracht op Mac / Linux / * nix-systemen:

touch ~/.gradle/gradle.properties && echo "org.gradle.daemon=true" >> ~/.gradle/gradle.properties

Of op Windows:

(if not exist "%USERPROFILE%/.gradle" mkdir "%USERPROFILE%/.gradle") && (echo org.gradle.daemon=true >> "%USERPROFILE%/.gradle/gradle.properties")

De Daemon uitschakelen

U kunt de Daemon uitschakelen voor een specifieke build met het argument --no-daemon , of uitschakelen voor een specifiek project door org.gradle.daemon=false in het bestand gradle.properties het project gradle.properties te stellen.

De Daemon stoppen

Als u een Daemon-proces handmatig wilt stoppen, kunt u het proces gradle --stop via uw taakbeheer van het besturingssysteem of de opdracht gradle --stop uitvoeren. De --stop schakelaar zorgt ervoor dat --stop verzoekt dat alle actieve Daemon-processen, van dezelfde Gradle-versie die worden gebruikt om de opdracht uit te voeren, zichzelf beëindigen. Gewoonlijk zullen Daemon-processen zichzelf automatisch beëindigen * na * 3 uur inactiviteit of minder .

Gradle Parallel builds

Gradle voert standaard slechts één taak tegelijk uit, ongeacht de projectstructuur. Door de - --parallel schakelaar te gebruiken, kunt u --parallel dwingen om onafhankelijke subprojecten - die geen impliciete of expliciete projectafhankelijkheid tussen elkaar hebben - parallel uit te voeren, waardoor het meerdere taken tegelijkertijd kan uitvoeren zolang deze taken zich in verschillende projecten.

Een project in parallelle modus bouwen:

gradle build --parallel

U kunt ook parallel bouwen de standaardinstelling voor een project maken door de volgende instelling toe te voegen aan het bestand gradle.properties van het project:

org.gradle.parallel=true

Gebruik de nieuwste Gradle-versie

Het Gradle-team werkt regelmatig aan het verbeteren van de prestaties van verschillende aspecten van Gradle-builds. Als je een oude versie van Gradle gebruikt, mis je de voordelen van dat werk. Probeer te upgraden naar de nieuwste versie van Gradle om te zien wat voor impact het heeft. Dit is een laag risico omdat er maar weinig dingen kapot gaan tussen kleinere versies van Gradle.

Het eigenschappenbestand voor de Gradle-wrapper is te vinden in uw projectmap onder gradle/wrapper/ en wordt gradle-wrapper.properties . De inhoud van dat bestand kan er als volgt uitzien:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-X.X.X.zip

U kunt het versienummer XXX (huidige versie) handmatig wijzigen in YYY (nieuwere versie) en de volgende keer dat u de wrapper uitvoert, wordt de nieuwe versie automatisch gedownload.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow