Skip to content

Display potential build time savings in experiment summaries #274

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Mar 7, 2023

Conversation

erichaagdev
Copy link
Member

@erichaagdev erichaagdev commented Jan 4, 2023

❄️ Winter Update PR Navigator ❄️

  1. Include realized build time savings in experiment summary #261
  2. Include performance characteristics and support -x for Gradle experiment 1  #262
  3. Always read project name from Build Scan data #263
  4. Gradle init script improvements #264
  5. Adopt Foojay Toolchains and Kotlin DSL plugins in build logic #265
  6. Add variable to query debug mode #266
  7. Modernize Java launch code #267
  8. Display serialization factor in summary of all experiments #272
  9. Display potential build time savings in experiment summaries #274
  10. Update the contract of command line tools #283

⛄ = you are here

Summary

ℹ️ This PR continues the implementation of #206. This felt like a good place to stop. More PRs will be coming.

This PR adds the potential_build_time and potential_build_time_savings, which is calculated as:

potential_build_time = build_2_effective_duration - (build_2_executed_cacheable_duration / build_2_serialization_factor)
potential_build_time_savings = build_1_effective_duration - potential_build_time

This is then displayed to the user as in the following example:

image

Testing

These changes were tested by running the following experiments and verifying they display a potential build time and potential build time savings. Note the exclusion of exp5-gradle and exp4-maven. I excluded these because I could not easily find a CI build with a cache miss.

./01-validate-incremental-building.sh -r git@github.com:gradle/androidx.git -p biometric -t 'buildOnServer' -s https://ge.solutions-team.gradle.com
./01-validate-incremental-building.sh -r git@github.com:gradle/androidx.git -p biometric -t 'buildOnServer' -s https://ge.solutions-team.gradle.com -x
./02-validate-local-build-caching-same-location.sh -r git@github.com:gradle/androidx.git -p biometric -t 'buildOnServer' -s https://ge.solutions-team.gradle.com
./02-validate-local-build-caching-same-location.sh -r git@github.com:gradle/androidx.git -p biometric -t 'buildOnServer' -s https://ge.solutions-team.gradle.com -x
./03-validate-local-build-caching-different-locations.sh -r git@github.com:gradle/androidx.git -p biometric -t 'buildOnServer' -s https://ge.solutions-team.gradle.com
./03-validate-local-build-caching-different-locations.sh -r git@github.com:gradle/androidx.git -p biometric -t 'buildOnServer' -s https://ge.solutions-team.gradle.com -x
./04-validate-remote-build-caching-ci-ci.sh -1 https://ge.solutions-team.gradle.com/s/4jmo6kqqjnebg -2 https://ge.solutions-team.gradle.com/s/5bwb5ofenxrts
./01-validate-local-build-caching-same-location.sh -r git@github.com:OpenAPITools/openapi-generator.git -g 'package' -a '-DskipTests' -e -s https://ge.solutions-team.gradle.com
./01-validate-local-build-caching-same-location.sh -r git@github.com:OpenAPITools/openapi-generator.git -g 'package' -a '-DskipTests' -e -s https://ge.solutions-team.gradle.com -x
./02-validate-local-build-caching-different-locations.sh -r git@github.com:OpenAPITools/openapi-generator.git -g 'package' -a '-DskipTests' -e -s https://ge.solutions-team.gradle.com
./02-validate-local-build-caching-different-locations.sh -r git@github.com:OpenAPITools/openapi-generator.git -g 'package' -a '-DskipTests' -e -s https://ge.solutions-team.gradle.com -x
./03-validate-remote-build-caching-ci-ci.sh -1 https://ge.solutions-team.gradle.com/s/cdfz7q2whfxia -2 https://ge.solutions-team.gradle.com/s/2elplm2ff76am

@runningcode runningcode removed their request for review March 1, 2023 09:08
@erichaagdev erichaagdev force-pushed the erichaagdev/display-serialization-factor branch from 0404f37 to e31a63d Compare March 6, 2023 00:44
@erichaagdev erichaagdev force-pushed the erichaagdev/display-potential-build-time-savings branch from dec7d87 to 9e73951 Compare March 6, 2023 00:47
Base automatically changed from erichaagdev/display-serialization-factor to main March 7, 2023 21:17
@erichaagdev erichaagdev merged commit 7e9796a into main Mar 7, 2023
@erichaagdev erichaagdev deleted the erichaagdev/display-potential-build-time-savings branch March 7, 2023 22:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants