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
perf: patch libuv to use posix_spawn on macOS #27026
perf: patch libuv to use posix_spawn on macOS #27026
Conversation
💖 Thanks for opening this pull request! 💖 We use semantic commit messages to streamline the release process. Before your pull request can be merged, you should update your pull request title to start with a semantic prefix. Examples of commit messages with semantic prefixes:
Things that will help get your PR across the finish line:
We get a lot of pull requests on this repo, so please be patient and we will get back to you as soon as we can. |
35bfc3f
to
c371770
Compare
Am I correct in understanding that the breaking change is that previously, the |
@nornagon thanks for taking a look! Correct, that's the breaking change I was referring to (I'll update the description to clarify). In my opinion this should not be merged until that is fixed. My motivations for the draft PR are:
|
@pdesantis yes, this is the right way to land a patch in Electron. |
@pdesantis do you still plan to work on this? |
@codebytere yes! I'm just waiting on final approval for libuv/libuv#3064 (which we submitted yesterday), then will update this PR. |
patch libuv to fix a performance regression in macOS >= 11 Spawning child processes in an Electron application with a hardened runtime has become slow in macOS Big Sur. This patch is a squashed version of libuv/libuv#3064 This patch should be removed when libuv PR 3064 is merged. Fixes: libuv/libuv#3050 Fixes: electron#26143 PR-URL: libuv/libuv#3064 Authored-by: Juan Pablo Canepa <jpcanepa@gmail.com> Co-authored-by: Marcello Bastéa-Forte <marcello@descript.com> Electron patch prepared by: Pat DeSantis <pdesantis3@gmail.com>
c371770
to
16370a2
Compare
16dff6f
to
7c1d521
Compare
@codebytere @nornagon I'm marking this as Ready for Review now. We fixed the aforementioned breaking change and have received 1 merge approval on libuv PR libuv/libuv#3064 (but it has not been merged yet). I'm guessing you want to wait for libuv to merge the PR, but figured now is a good time to start the Electron review process. I had to make 1 change to the patch (stripping trailing whitespace) to pass Electron's lint. I can squash this down into 1 commit once the review is done. |
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.
I'm OK merging / backporting this once it's merged upstream.
Awesome, I'll report back once it's merged. In the meantime, what should I do about these test failures? |
@pdesantis the patch needs to be updated. If you are using electron build tools, you can run |
libuv/libuv#3064 PR has been merged and closed now |
Congrats on merging your first pull request! 🎉🎉🎉 |
Release Notes Persisted
|
I have automatically backported this PR to "11-x-y", please check out #27654 |
I have automatically backported this PR to "10-x-y", please check out #27655 |
I have automatically backported this PR to "12-x-y", please check out #27656 |
This reverts commit f69c111.
This reverts commit f69c111.
This reverts commit f69c111.
This reverts commit f69c111.
…) (electron#27810)" This reverts commit a859436.
…) (electron#27810)" This reverts commit a859436.
…) (electron#27810)" This reverts commit a859436.
Description of Change
Spawning child processes in an Electron application with a hardened runtime has become slow in macOS Big Sur.
This patch is a squashed version of libuv/libuv#3064, and should be removed when the libuv PR is merged.
Fixes: libuv/libuv#3050
Fixes: #26143
PR-URL: libuv/libuv#3064
Special thanks
@jpcanepa: authoring the libuv patch
@davidzech @marcello3d @srubin: identifying the underlying Electron issue
@marcello3d: creating the Electron repro
@bnoordhuis: assistance with libuv
Stakeholders
@deepak1556: thanks for the libuv repro
@erickzhao: thanks for the support in the Electron Discord & assisting with Electron build-tools
Checklist
PATH
env var breaking change is fixednpm test
passesRelease Notes
Notes: Fixed slow child process spawning on macOS Big Sur