-
Notifications
You must be signed in to change notification settings - Fork 30.5k
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
src: refactor http parser binding initialization #54276
src: refactor http parser binding initialization #54276
Conversation
joyeecheung
commented
Aug 8, 2024
- Use the per-isolate template to build constants and functions which is faster
- Use Array::New() with prebuilt vectors which is faster
- Register external references so the binding can be included in the snapshot
- Use the per-isolate template to build constants and functions which is faster - Use Array::New() with prebuilt vectors which is faster - Register external references so the binding can be included in the snapshot
Review requested:
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #54276 +/- ##
==========================================
- Coverage 87.10% 87.10% -0.01%
==========================================
Files 647 647
Lines 181754 181782 +28
Branches 34880 34887 +7
==========================================
+ Hits 158323 158346 +23
+ Misses 16742 16736 -6
- Partials 6689 6700 +11
|
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.
lgtm
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.
Just a thought. Could we use a wasm build similar to undici?
I'm not sure wasm is available on all platforms. |
Your mean fetch (undici) doesn't work or all platforms? |
Commit Queue failed- Loading data for nodejs/node/pull/54276 ✔ Done loading data for nodejs/node/pull/54276 ----------------------------------- PR info ------------------------------------ Title src: refactor http parser binding initialization (#54276) Author Joyee Cheung <joyeec9h3@gmail.com> (@joyeecheung) Branch joyeecheung:http-parser-binding -> nodejs:main Labels c++, http_parser, needs-ci Commits 1 - src: refactor http parser binding initialization Committers 1 - Joyee Cheung <joyeec9h3@gmail.com> PR-URL: https://github.com/nodejs/node/pull/54276 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Paolo Insogna <paolo@cowtech.it> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Robert Nagy <ronagy@icloud.com> ------------------------------ Generated metadata ------------------------------ PR-URL: https://github.com/nodejs/node/pull/54276 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Paolo Insogna <paolo@cowtech.it> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Robert Nagy <ronagy@icloud.com> -------------------------------------------------------------------------------- ℹ This PR was created on Thu, 08 Aug 2024 22:22:21 GMT ✔ Approvals: 5 ✔ - Michaël Zasso (@targos) (TSC): https://github.com/nodejs/node/pull/54276#pullrequestreview-2229382852 ✔ - Matteo Collina (@mcollina) (TSC): https://github.com/nodejs/node/pull/54276#pullrequestreview-2229715600 ✔ - Paolo Insogna (@ShogunPanda) (TSC): https://github.com/nodejs/node/pull/54276#pullrequestreview-2229828935 ✔ - Anna Henningsen (@addaleax): https://github.com/nodejs/node/pull/54276#pullrequestreview-2231440372 ✔ - Robert Nagy (@ronag) (TSC): https://github.com/nodejs/node/pull/54276#pullrequestreview-2231464359 ✔ Last GitHub CI successful ✘ No Jenkins CI runs detected -------------------------------------------------------------------------------- ✔ Aborted `git node land` session in /home/runner/work/node/node/.ncuhttps://github.com/nodejs/node/actions/runs/10334911205 |
I have a rough recall of this being a problem, or at least with some |
I am guessing by that you mean wasm cannot be built on all platforms (not that a pre-built one cannot be loaded on all platforms). For the parsing on the server side I think there were some experiments with this using https://github.com/ShogunPanda/milo @ShogunPanda knows more. |
@joyeecheung ah right! That was the reason. |
Landed in 503cf16 |
- Use the per-isolate template to build constants and functions which is faster - Use Array::New() with prebuilt vectors which is faster - Register external references so the binding can be included in the snapshot PR-URL: #54276 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Paolo Insogna <paolo@cowtech.it> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Robert Nagy <ronagy@icloud.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
- Use the per-isolate template to build constants and functions which is faster - Use Array::New() with prebuilt vectors which is faster - Register external references so the binding can be included in the snapshot PR-URL: #54276 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Paolo Insogna <paolo@cowtech.it> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Robert Nagy <ronagy@icloud.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>