-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Default concurrency #966
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
Comments
I think this is blocked by #923 - but yeah, seems reasonable to me. Also, I think we should get #945 merged and released before spending a lot of time collecting data on this. I think it will have a dramatic impact on those using Use |
@jamestalmage Agreed. I've updated the issue text. |
looks like 5 is a pretty good default; maybe 6 is better? Adding
My intuition is that the best default is likely |
Is this still being blocked? (#945 was closed). I'm happy to submit a PR to get some sane concurrency defaults. |
@jonathandelgado It has the downside of making @novemberborn Do you still think we shouldn't do this? What is your current opinion? |
We should do this, yes. It just completely breaks
This would give us the experience of exclusive tests while not having to load all test files in advance (which then gives us other scheduling benefits). It's not easy though… perhaps what we should do in the mean time is show an instruction when |
It's a cool idea, but I think it's also too clever and not worth all the work and potential downsides. I'd rather spend energy on making it easier to filter down tests. |
Agreed. |
In #791, we added a flag to control the concurrency. It turned out operating systems are really bad at doing their job properly, and they couldn't handle the amount of processes we tried to start up when there's a lot of test files. We also have the overhead starting up
node
and requiring dependencies in each process. This was a big problem in React projects where you do one test file per component, and you usually have a lot of components.We should consider doing a default concurrency limit. Users should still be able to set it to unlimited, but I think it would be in our best interest to adapt to reality. I've previously had good success with
(os.cpus().length || 1) * 2
, but we should get some real numbers on it from various systems.Everyone, please run your test suite with the--concurrency
flag and try out different numbers for it and post back the results. Also include the number of test files in the suite and the output of:Edit: Let's wait on this until #945 is merged and released, per #966 (comment).
@avajs/core Thoughts?
The text was updated successfully, but these errors were encountered: