-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Remove batching on unittest thread, use historical data to inform batching #18578
Conversation
@andy-ms I've also now added a feature where the data for the runtime of prior test runs is used to inform the packing of batches for future sort runs. The historical data also reduces test discovery time by 1/3rd of a second by avoiding all of the As an added bonus; new tests will be run first if perf data from a prior run is available, so you can get feedback from your changes more rapidly. |
Merge conflict 👇 |
…ristic for future test runs
ea2c6bb
to
e5c5d4e
Compare
@andy-ms rebased and resolved. |
src/harness/parallel/host.ts
Outdated
if (tasks.length === 0) { | ||
// TODO: This indicates a particularly suboptimal packing | ||
console.log(`Suboptimal packing detcted: no tests remain to be stolen. Reduce packing fraction from ${packfraction} to fix.`); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typo:detected
This doesn't seem to have changed the time for me. I measured 2min 45s, compared to 2min 48s in #18462 and 2min 24s before any of this. @weswigham Could you run a comparison between c522f37 and d1c4754 on your machine? |
This should help guarantee that the unittest thread is not unintentionally on the critical path of completion time - in my case, this improved test duration by 8 seconds - 126 seconds down to 118 seconds. This may help with perf issues you were seeing, @andy-ms ?