-
Notifications
You must be signed in to change notification settings - Fork 236
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
Check if using xdist may help with performance problems #412
Conversation
for linux this double speed of test. |
af4d708
to
4f908ef
Compare
@joerick @YannickJadoul There is any reason to use symlinks on macos? Or it could be simply switched to PATH like in other systems? |
The symlinks were required because we wanted |
Ah, yes. And I believe mostly @joerick preferred to keep the installation directory itself clean, rather than adding extra symlinks in there (which, yes, why not; it keeps things clean). |
@joerick @YannickJadoul As see performance problem in #430 I return to this PR. I see how do this for windows (thanks for nuget). But there is problem that What do you think about switch to direct python call using mocking? Or have other idea? I do not see how to deal with macos. I do not see nuget like python installer for macos. This PR add complexity to test process but could speedup test run. What do you think? Push it? |
As @joerick pointed out, the problems in #430 seem to be pointing at some other underlying issue. So while this can be useful in general, it's definitely not a good idea to use it right now as workaround, before we figured out what's wrong or why #430 is so much slower. Apart from that, I wonder how confusing it's going to be to have tests run in parallel. At any rate, I'd say to just run a single job ( Also, maybe it's better to make the separate |
I start this PR to reduce time of test execution. reduce time from 34 minutes to 22 minutes (linux case) is really nice. The problem is that interpreter does not allow pararell call of Other option which I see Is to parallel loop inside |
No, we don't want that, I think. That makes all execution of cibuildwheel parallel; I really don't think that's a good idea. |
I do not understand. When using When give up making symlinks on macos it should work. And Each worker work with other python version. |
No, but building wheels is complicated enough already that we don't want to introduce any concurrency within cibuildwheel, I'd say. If users want to build parallel, they can set flags in |
Closing to tidy things up. Feel free to reopen if you're still working on it! |
@Czaki, @henryiii recently made some relevant PRs in pybind11: pybind/pybind11#2521 |
The main problem in this PR is parallel calls of Pip does not allow on pararell call. |
That's exactly why I'm pointing to a way to make |
But in each project, we compile a single file. Also, compilation time is not the longest part of our pipeline, but coping files, creating environments (each call of pip wheel will create a new virtualenv) etc. |
Yes, but aren't our tests currently OK? I thought you wanted to introduce this in |
Nevermind. I see I'm completely utterly wrong. Sorry for the confusion! |
As a conclusion of the current state. But does not work with macOS because it does not allow to install of two instances of python interpreter. |
This PR is to check how usage of pytest-xdist change time of test execution