Netflix / archaius

Library for configuration management API
Apache License 2.0
2.46k stars 485 forks source link

Improve GRADLE build Performance #626

Closed shisheng-1 closed 1 year ago

shisheng-1 commented 2 years ago

Parallel builds. This project contains multiple modules. Parallel builds can improve the build speed by executing tasks in parallel. We can enable this feature by setting org.gradle.parallel=true.

Configuration on demand. Configuration on demand tells Gradle to configure modules that only are relevant to the requested tasks instead of configuring all of them. We can enable this feature by setting org.gradle.configureondemand=true.

gradle caching. Shared caches can reduce the number of tasks you need to execute by reusing outputs already generated elsewhere. This can significantly decrease build times. We can enable this feature by setting org.gradle.caching=true.

Gradle daemon. The Daemon is a long-lived process that help to avoid the cost of JVM startup for every build. Since Gradle 3.0, Gradle daemon is enabled by default. For an older version, you should enable it by setting org.gradle.daemon=true.

===================== If there are any inappropriate modifications in this PR, please give me a reply and I will change them.

rgallardo-netflix commented 1 year ago

We won't apply the daemon option because we're using gradle7, so it's on by default already, and we also don't want the "configuration on demand" option because it is marked as incubating. The other 2 sound good and they do lead to a noticeable performance improvement in local tests. I will edit this to apply only those 2 and rebase it to target 2.x before merging.

rgallardo-netflix commented 1 year ago

Rebased version in https://github.com/Netflix/archaius/pull/642