-
Notifications
You must be signed in to change notification settings - Fork 14.2k
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
Prototype: Inherit the maxParallelForks from Jenkins CPU count #16009
Prototype: Inherit the maxParallelForks from Jenkins CPU count #16009
Conversation
Signed-off-by: Greg Harris <[email protected]>
almost speedup 50% 😄 |
It's hard to tell for sure. The load on Jenkins varies a lot, so this is a top 30th percentile build, not too out of the ordinary. This PR isn't any of the short bars on this graph, it's 5/5 of the tallest bars. This is a serial execution graph, so measuring the total time taken multiplied by the parallelism, roughly. That means despite maybe saving some overall execution time, running the tests at high parallelism wasted a lot of time, waiting for the CPU or whatever else. |
Here's some total task times across some different builds:
The 30minute compile and 4h spotbugs are very strange to me, plus just to cherry-pick from the build:
There's no tests in this package! it took junit 95 minutes to scan the classes and not find any tests??! And i don't even know what this line means, because it can't mean it took 28 minutes for gradle to determine the task was up to date, right?
I think all of the above is only consistent with an extremely overloaded test runner. |
Signed-off-by: Greg Harris <[email protected]>
Signed-off-by: Greg Harris <[email protected]>
Signed-off-by: Greg Harris <[email protected]>
It looks like 2 (or perhaps 3 or 4) is appropriate for the current CI conditions. I don't see any substantial difference that would make this a worthwhile change for us, or worth the risk of being worse CI neighbors than we already are. |
The maxParallelForks is usually inherited from the CPU count on developer machines, and hardcoded to 2 in Jenkins.
This is an experiment to try increasing the parallelism in Jenkins.
Committer Checklist (excluded from commit message)