Skip to content
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

stream: use bitmap in writable state #49834

Merged

Conversation

rluvaton
Copy link
Member

@rluvaton rluvaton commented Sep 23, 2023

same as the following PR but for writable:

Benchmark CI output:

                                                                                          confidence improvement accuracy (*)    (**)   (***)
streams/creation.js kind='duplex' n=50000000                                                     ***     10.15 %       ±1.04%  ±1.39%  ±1.81%
streams/creation.js kind='readable' n=50000000                                                   ***     -1.59 %       ±0.64%  ±0.85%  ±1.11%
streams/creation.js kind='transform' n=50000000                                                           3.94 %       ±4.16%  ±5.58%  ±7.37%
streams/creation.js kind='writable' n=50000000                                                   ***     14.64 %       ±1.57%  ±2.09%  ±2.73%
streams/destroy.js kind='duplex' n=1000000                                                       ***     13.30 %       ±3.37%  ±4.52%  ±5.95%
streams/destroy.js kind='readable' n=1000000                                                              1.01 %       ±2.03%  ±2.70%  ±3.51%
streams/destroy.js kind='transform' n=1000000                                                    ***     16.34 %       ±4.79%  ±6.43%  ±8.50%
streams/destroy.js kind='writable' n=1000000                                                     ***     17.12 %       ±3.07%  ±4.08%  ±5.32%
streams/pipe-object-mode.js n=5000000                                                                     1.87 %       ±3.01%  ±4.01%  ±5.23%
streams/pipe.js n=5000000                                                                                 0.17 %       ±2.36%  ±3.15%  ±4.09%
streams/readable-async-iterator.js sync='no' n=100000                                                    -0.51 %       ±6.21%  ±8.27% ±10.76%
streams/readable-async-iterator.js sync='yes' n=100000                                                   -0.90 %       ±5.11%  ±6.80%  ±8.85%
streams/readable-bigread.js n=1000                                                                        0.91 %       ±1.66%  ±2.21%  ±2.88%
streams/readable-bigunevenread.js n=1000                                                                  4.99 %       ±5.19%  ±6.91%  ±8.99%
streams/readable-boundaryread.js type='buffer' n=2000                                                    -1.70 %       ±1.80%  ±2.39%  ±3.12%
streams/readable-boundaryread.js type='string' n=2000                                                    -0.86 %       ±1.74%  ±2.32%  ±3.04%
streams/readable-from.js n=10000000                                                                      -1.03 %       ±2.16%  ±2.87%  ±3.74%
streams/readable-readall.js n=5000                                                                       -0.54 %       ±1.70%  ±2.27%  ±2.97%
streams/readable-unevenread.js n=1000                                                              *      0.54 %       ±0.46%  ±0.61%  ±0.80%
streams/writable-manywrites.js len=1024 callback='no' writev='no' sync='no' n=2000000                     2.09 %       ±2.82%  ±3.75%  ±4.88%
streams/writable-manywrites.js len=1024 callback='no' writev='no' sync='yes' n=2000000                    4.51 %      ±10.23% ±13.61% ±17.71%
streams/writable-manywrites.js len=1024 callback='no' writev='yes' sync='no' n=2000000                   -2.82 %       ±7.02%  ±9.34% ±12.16%
streams/writable-manywrites.js len=1024 callback='no' writev='yes' sync='yes' n=2000000                   5.14 %       ±8.67% ±11.55% ±15.04%
streams/writable-manywrites.js len=1024 callback='yes' writev='no' sync='no' n=2000000             *      3.14 %       ±2.83%  ±3.77%  ±4.91%
streams/writable-manywrites.js len=1024 callback='yes' writev='no' sync='yes' n=2000000                   9.35 %       ±9.50% ±12.64% ±16.47%
streams/writable-manywrites.js len=1024 callback='yes' writev='yes' sync='no' n=2000000                  -3.87 %       ±8.31% ±11.06% ±14.39%
streams/writable-manywrites.js len=1024 callback='yes' writev='yes' sync='yes' n=2000000                  3.68 %       ±7.45%  ±9.92% ±12.91%
streams/writable-manywrites.js len=32768 callback='no' writev='no' sync='no' n=2000000                    1.75 %       ±2.46%  ±3.28%  ±4.28%
streams/writable-manywrites.js len=32768 callback='no' writev='no' sync='yes' n=2000000          ***     -7.14 %       ±3.16%  ±4.21%  ±5.48%
streams/writable-manywrites.js len=32768 callback='no' writev='yes' sync='no' n=2000000                  -0.14 %       ±3.44%  ±4.58%  ±5.97%
streams/writable-manywrites.js len=32768 callback='no' writev='yes' sync='yes' n=2000000          **     -4.60 %       ±3.03%  ±4.03%  ±5.25%
streams/writable-manywrites.js len=32768 callback='yes' writev='no' sync='no' n=2000000                  -1.23 %       ±3.16%  ±4.21%  ±5.49%
streams/writable-manywrites.js len=32768 callback='yes' writev='no' sync='yes' n=2000000                 -2.38 %       ±3.54%  ±4.71%  ±6.13%
streams/writable-manywrites.js len=32768 callback='yes' writev='yes' sync='no' n=2000000                  1.02 %       ±3.22%  ±4.29%  ±5.59%
streams/writable-manywrites.js len=32768 callback='yes' writev='yes' sync='yes' n=2000000         **     -5.14 %       ±3.52%  ±4.68%  ±6.10%

Be aware that when doing many comparisons the risk of a false-positive
result increases. In this case, there are 35 comparisons, you can thus
expect the following amount of false-positive results:
  1.75 false positives, when considering a   5% risk acceptance (*, **, ***),
  0.35 false positives, when considering a   1% risk acceptance (**, ***),
  0.04 false positives, when considering a 0.1% risk acceptance (***)

For this script:

const {Writable} = require('node:stream');

let w;

for (let i = 0; i < 1000; i++) {
  w = new Writable();
}

// eliminate v8 dead code elimination
console.assert(w);

the system analyzer shows a big reduction in size:

Before:
Before

After:
After

@nodejs-github-bot
Copy link
Collaborator

Review requested:

  • @nodejs/streams

@nodejs-github-bot nodejs-github-bot added the needs-ci PRs that need a full CI run. label Sep 23, 2023
@rluvaton rluvaton added stream Issues and PRs related to the stream subsystem. performance Issues and PRs related to the performance of Node.js. needs-benchmark-ci PR that need a benchmark CI run. labels Sep 23, 2023
@rluvaton
Copy link
Member Author

benjamingr

This comment was marked as outdated.

@rluvaton rluvaton added the request-ci Add this label to start a Jenkins CI on a PR. label Sep 23, 2023
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Sep 23, 2023
@nodejs-github-bot
Copy link
Collaborator

@rluvaton rluvaton force-pushed the convert-state-to-bitmap-in-writeble branch from b7144c1 to c0cd612 Compare September 24, 2023 08:54
@rluvaton rluvaton added the request-ci Add this label to start a Jenkins CI on a PR. label Sep 24, 2023
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Sep 24, 2023
@nodejs-github-bot
Copy link
Collaborator

@rluvaton rluvaton force-pushed the convert-state-to-bitmap-in-writeble branch from 3d3176d to f86c8ab Compare September 24, 2023 09:22
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@rluvaton rluvaton added the request-ci Add this label to start a Jenkins CI on a PR. label Sep 24, 2023
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Sep 24, 2023
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

Copy link
Member

@lpinca lpinca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RSLGTM

@nodejs-github-bot
Copy link
Collaborator

@rluvaton rluvaton added the commit-queue Add this label to land a pull request using GitHub Actions. label Sep 26, 2023
@nodejs-github-bot nodejs-github-bot added commit-queue-failed An error occurred while landing this pull request using GitHub Actions. and removed commit-queue Add this label to land a pull request using GitHub Actions. labels Sep 26, 2023
@nodejs-github-bot
Copy link
Collaborator

Commit Queue failed
- Loading data for nodejs/node/pull/49834
✔  Done loading data for nodejs/node/pull/49834
----------------------------------- PR info ------------------------------------
Title      stream: use bitmap in writable state (#49834)
   ⚠  Could not retrieve the email or name of the PR author's from user's GitHub profile!
Branch     rluvaton:convert-state-to-bitmap-in-writeble -> nodejs:main
Labels     stream, performance, needs-ci, needs-benchmark-ci
Commits    4
 - stream: use bitmap in writable state
 - stream: add brackets
 - stream: add brackets and fix again
 - stream: fix tests
Committers 1
 - Raz Luvaton <[email protected]>
PR-URL: https://github.com/nodejs/node/pull/49834
Reviewed-By: Benjamin Gruenbaum 
Reviewed-By: Robert Nagy 
Reviewed-By: Luigi Pinca 
Reviewed-By: Yagiz Nizipli 
------------------------------ Generated metadata ------------------------------
PR-URL: https://github.com/nodejs/node/pull/49834
Reviewed-By: Benjamin Gruenbaum 
Reviewed-By: Robert Nagy 
Reviewed-By: Luigi Pinca 
Reviewed-By: Yagiz Nizipli 
--------------------------------------------------------------------------------
   ℹ  This PR was created on Sat, 23 Sep 2023 21:05:48 GMT
   ✔  Approvals: 4
   ✔  - Benjamin Gruenbaum (@benjamingr) (TSC): https://github.com/nodejs/node/pull/49834#pullrequestreview-1640948581
   ✔  - Robert Nagy (@ronag) (TSC): https://github.com/nodejs/node/pull/49834#pullrequestreview-1641038683
   ✔  - Luigi Pinca (@lpinca): https://github.com/nodejs/node/pull/49834#pullrequestreview-1641116583
   ✔  - Yagiz Nizipli (@anonrig) (TSC): https://github.com/nodejs/node/pull/49834#pullrequestreview-1644628581
   ✔  Last GitHub CI successful
   ℹ  Last Benchmark CI on 2023-09-23T21:24:08Z: https://ci.nodejs.org/job/benchmark-node-micro-benchmarks/1412/
   ℹ  Last Full PR CI on 2023-09-26T13:54:51Z: https://ci.nodejs.org/job/node-test-pull-request/54249/
- Querying data for job/node-test-pull-request/54249/
   ✔  Last Jenkins CI successful
--------------------------------------------------------------------------------
   ✔  No git cherry-pick in progress
   ✔  No git am in progress
   ✔  No git rebase in progress
--------------------------------------------------------------------------------
- Bringing origin/main up to date...
From https://github.com/nodejs/node
 * branch                  main       -> FETCH_HEAD
✔  origin/main is now up-to-date
- Downloading patch for 49834
From https://github.com/nodejs/node
 * branch                  refs/pull/49834/merge -> FETCH_HEAD
✔  Fetched commits as c829c03df245..b6ac911d1d57
--------------------------------------------------------------------------------
[main e921e7e99c] stream: use bitmap in writable state
 Author: Raz Luvaton <[email protected]>
 Date: Sun Sep 24 00:05:03 2023 +0300
 1 file changed, 195 insertions(+), 142 deletions(-)
[main 74b3c3ffff] stream: add brackets
 Author: Raz Luvaton <[email protected]>
 Date: Sun Sep 24 12:18:50 2023 +0300
 1 file changed, 2 insertions(+), 2 deletions(-)
[main d62d5584bf] stream: add brackets and fix again
 Author: Raz Luvaton <[email protected]>
 Date: Sun Sep 24 12:45:07 2023 +0300
 1 file changed, 2 insertions(+), 2 deletions(-)
[main 6680801bbe] stream: fix tests
 Author: Raz Luvaton <[email protected]>
 Date: Sun Sep 24 13:11:18 2023 +0300
 1 file changed, 1 insertion(+), 1 deletion(-)
   ✔  Patches applied
There are 4 commits in the PR. Attempting autorebase.
Rebasing (2/8)

Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
stream: use bitmap in writable state

PR-URL: #49834
Reviewed-By: Benjamin Gruenbaum [email protected]
Reviewed-By: Robert Nagy [email protected]
Reviewed-By: Luigi Pinca [email protected]
Reviewed-By: Yagiz Nizipli [email protected]

[detached HEAD b03d9e2bdb] stream: use bitmap in writable state
Author: Raz Luvaton [email protected]
Date: Sun Sep 24 00:05:03 2023 +0300
1 file changed, 195 insertions(+), 142 deletions(-)
Rebasing (3/8)
Rebasing (4/8)

Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
stream: add brackets

PR-URL: #49834
Reviewed-By: Benjamin Gruenbaum [email protected]
Reviewed-By: Robert Nagy [email protected]
Reviewed-By: Luigi Pinca [email protected]
Reviewed-By: Yagiz Nizipli [email protected]

[detached HEAD 91870ee621] stream: add brackets
Author: Raz Luvaton [email protected]
Date: Sun Sep 24 12:18:50 2023 +0300
1 file changed, 2 insertions(+), 2 deletions(-)
Rebasing (5/8)
Rebasing (6/8)

Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
stream: add brackets and fix again

PR-URL: #49834
Reviewed-By: Benjamin Gruenbaum [email protected]
Reviewed-By: Robert Nagy [email protected]
Reviewed-By: Luigi Pinca [email protected]
Reviewed-By: Yagiz Nizipli [email protected]

[detached HEAD 12fe805a9a] stream: add brackets and fix again
Author: Raz Luvaton [email protected]
Date: Sun Sep 24 12:45:07 2023 +0300
1 file changed, 2 insertions(+), 2 deletions(-)
Rebasing (7/8)
Rebasing (8/8)

Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
stream: fix tests

PR-URL: #49834
Reviewed-By: Benjamin Gruenbaum [email protected]
Reviewed-By: Robert Nagy [email protected]
Reviewed-By: Luigi Pinca [email protected]
Reviewed-By: Yagiz Nizipli [email protected]

[detached HEAD 3b64d355d8] stream: fix tests
Author: Raz Luvaton [email protected]
Date: Sun Sep 24 13:11:18 2023 +0300
1 file changed, 1 insertion(+), 1 deletion(-)

Successfully rebased and updated refs/heads/main.

ℹ Add commit-queue-squash label to land the PR as one commit, or commit-queue-rebase to land as separate commits.

https://github.com/nodejs/node/actions/runs/6317227581

@rluvaton rluvaton added commit-queue Add this label to land a pull request using GitHub Actions. commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. and removed commit-queue-failed An error occurred while landing this pull request using GitHub Actions. labels Sep 26, 2023
@nodejs-github-bot nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Sep 26, 2023
@nodejs-github-bot nodejs-github-bot merged commit 6754652 into nodejs:main Sep 26, 2023
39 checks passed
@nodejs-github-bot
Copy link
Collaborator

Landed in 6754652

@rluvaton rluvaton deleted the convert-state-to-bitmap-in-writeble branch September 26, 2023 19:20
@benjamingr benjamingr added the notable-change PRs with changes that should be highlighted in changelogs. label Sep 26, 2023
@github-actions
Copy link
Contributor

The notable-change PRs with changes that should be highlighted in changelogs. label has been added by @benjamingr.

Please suggest a text for the release notes if you'd like to include a more detailed summary, then proceed to update the PR description with the text or a link to the notable change suggested text comment.

@benjamingr
Copy link
Member

This PR and the readable stream PR improve stream creation and destruction by ±15% and reduce the memory overhead each stream takes in Node.js

ruyadorno pushed a commit that referenced this pull request Sep 28, 2023
PR-URL: #49834
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Robert Nagy <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
ruyadorno added a commit that referenced this pull request Sep 28, 2023
Notable changes:

doc:
  * deprecate `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK` (Livia Medeiros) #49683
  * promote fetch/webstreams from experimental to stable (Steven) #45684
  * deprecate `util.toUSVString` (Yagiz Nizipli) #49725
  * deprecate calling `promisify` on a function that returns a promise (Antoine du Hamel) #49647
esm:
  * set all hooks as release candidate (Geoffrey Booth) #49597
stream:
  * use bitmap in writable state (Raz Luvaton) #49834
  * use bitmap in readable state (Benjamin Gruenbaum) #49745
  * improve webstream readable async iterator performance (Raz Luvaton) #49662

PR-URL: TODO
@ruyadorno ruyadorno mentioned this pull request Sep 28, 2023
ruyadorno added a commit that referenced this pull request Sep 28, 2023
Notable changes:

doc:
  * deprecate `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK` (Livia Medeiros) #49683
  * promote fetch/webstreams from experimental to stable (Steven) #45684
  * deprecate `util.toUSVString` (Yagiz Nizipli) #49725
  * deprecate calling `promisify` on a function that returns a promise (Antoine du Hamel) #49647
esm:
  * set all hooks as release candidate (Geoffrey Booth) #49597
stream:
  * use bitmap in writable state (Raz Luvaton) #49834
  * use bitmap in readable state (Benjamin Gruenbaum) #49745
  * improve webstream readable async iterator performance (Raz Luvaton) #49662

PR-URL: #49917
ruyadorno pushed a commit that referenced this pull request Sep 28, 2023
PR-URL: #49834
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Robert Nagy <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
ruyadorno added a commit that referenced this pull request Sep 28, 2023
Notable changes:

doc:
  * deprecate `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK` (Livia Medeiros) #49683
  * deprecate `util.toUSVString` (Yagiz Nizipli) #49725
  * deprecate calling `promisify` on a function that returns a promise (Antoine du Hamel) #49647
esm:
  * set all hooks as release candidate (Geoffrey Booth) #49597
src:
  * (SEMVER-MINOR) allow embedders to override NODE_MODULE_VERSION (Cheng Zhao) #49279
stream:
  * use bitmap in writable state (Raz Luvaton) #49834
  * use bitmap in readable state (Benjamin Gruenbaum) #49745
  * improve webstream readable async iterator performance (Raz Luvaton) #49662
test_runner:
  * (SEMVER-MINOR) accept `testOnly` in `run` (Moshe Atlow) #49753
  * (SEMVER-MINOR) add junit reporter (Moshe Atlow) #49614

PR-URL: TODO
@ruyadorno ruyadorno mentioned this pull request Sep 28, 2023
ruyadorno added a commit that referenced this pull request Sep 28, 2023
Notable changes:

deps:
  * add v8::Object::SetInternalFieldForNodeCore() (Joyee Cheung) #49874
doc:
  * deprecate `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK` (Livia Medeiros) #49683
  * deprecate `util.toUSVString` (Yagiz Nizipli) #49725
  * deprecate calling `promisify` on a function that returns a promise (Antoine du Hamel) #49647
esm:
  * set all hooks as release candidate (Geoffrey Booth) #49597
module:
  * fix the leak in SourceTextModule and ContextifySript (Joyee Cheung) #48510
  * fix leak of vm.SyntheticModule (Joyee Cheung) #48510
  * use symbol in WeakMap to manage host defined options (Joyee Cheung) #48510
src:
  * (SEMVER-MINOR) allow embedders to override NODE_MODULE_VERSION (Cheng Zhao) #49279
stream:
  * use bitmap in writable state (Raz Luvaton) #49834
  * use bitmap in readable state (Benjamin Gruenbaum) #49745
  * improve webstream readable async iterator performance (Raz Luvaton) #49662
test_runner:
  * (SEMVER-MINOR) accept `testOnly` in `run` (Moshe Atlow) #49753
  * (SEMVER-MINOR) add junit reporter (Moshe Atlow) #49614

PR-URL: #49932
ruyadorno added a commit that referenced this pull request Sep 28, 2023
Notable changes:

deps:
  * add v8::Object::SetInternalFieldForNodeCore() (Joyee Cheung) #49874
doc:
  * deprecate `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK` (Livia Medeiros) #49683
  * deprecate `util.toUSVString` (Yagiz Nizipli) #49725
  * deprecate calling `promisify` on a function that returns a promise (Antoine du Hamel) #49647
esm:
  * set all hooks as release candidate (Geoffrey Booth) #49597
module:
  * fix the leak in SourceTextModule and ContextifySript (Joyee Cheung) #48510
  * fix leak of vm.SyntheticModule (Joyee Cheung) #48510
  * use symbol in WeakMap to manage host defined options (Joyee Cheung) #48510
src:
  * (SEMVER-MINOR) allow embedders to override NODE_MODULE_VERSION (Cheng Zhao) #49279
stream:
  * use bitmap in writable state (Raz Luvaton) #49834
  * use bitmap in readable state (Benjamin Gruenbaum) #49745
  * improve webstream readable async iterator performance (Raz Luvaton) #49662
test_runner:
  * (SEMVER-MINOR) accept `testOnly` in `run` (Moshe Atlow) #49753
  * (SEMVER-MINOR) add junit reporter (Moshe Atlow) #49614

PR-URL: #49932
ruyadorno added a commit that referenced this pull request Sep 29, 2023
Notable changes:

deps:
  * add v8::Object::SetInternalFieldForNodeCore() (Joyee Cheung) #49874
doc:
  * deprecate `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK` (Livia Medeiros) #49683
  * deprecate `util.toUSVString` (Yagiz Nizipli) #49725
  * deprecate calling `promisify` on a function that returns a promise (Antoine du Hamel) #49647
esm:
  * set all hooks as release candidate (Geoffrey Booth) #49597
module:
  * fix the leak in SourceTextModule and ContextifySript (Joyee Cheung) #48510
  * fix leak of vm.SyntheticModule (Joyee Cheung) #48510
  * use symbol in WeakMap to manage host defined options (Joyee Cheung) #48510
src:
  * (SEMVER-MINOR) allow embedders to override NODE_MODULE_VERSION (Cheng Zhao) #49279
stream:
  * use bitmap in writable state (Raz Luvaton) #49834
  * use bitmap in readable state (Benjamin Gruenbaum) #49745
  * improve webstream readable async iterator performance (Raz Luvaton) #49662
test_runner:
  * (SEMVER-MINOR) accept `testOnly` in `run` (Moshe Atlow) #49753
  * (SEMVER-MINOR) add junit reporter (Moshe Atlow) #49614

PR-URL: #49932
alexfernandez pushed a commit to alexfernandez/node that referenced this pull request Nov 1, 2023
PR-URL: nodejs#49834
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Robert Nagy <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
alexfernandez pushed a commit to alexfernandez/node that referenced this pull request Nov 1, 2023
Notable changes:

deps:
  * add v8::Object::SetInternalFieldForNodeCore() (Joyee Cheung) nodejs#49874
doc:
  * deprecate `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK` (Livia Medeiros) nodejs#49683
  * deprecate `util.toUSVString` (Yagiz Nizipli) nodejs#49725
  * deprecate calling `promisify` on a function that returns a promise (Antoine du Hamel) nodejs#49647
esm:
  * set all hooks as release candidate (Geoffrey Booth) nodejs#49597
module:
  * fix the leak in SourceTextModule and ContextifySript (Joyee Cheung) nodejs#48510
  * fix leak of vm.SyntheticModule (Joyee Cheung) nodejs#48510
  * use symbol in WeakMap to manage host defined options (Joyee Cheung) nodejs#48510
src:
  * (SEMVER-MINOR) allow embedders to override NODE_MODULE_VERSION (Cheng Zhao) nodejs#49279
stream:
  * use bitmap in writable state (Raz Luvaton) nodejs#49834
  * use bitmap in readable state (Benjamin Gruenbaum) nodejs#49745
  * improve webstream readable async iterator performance (Raz Luvaton) nodejs#49662
test_runner:
  * (SEMVER-MINOR) accept `testOnly` in `run` (Moshe Atlow) nodejs#49753
  * (SEMVER-MINOR) add junit reporter (Moshe Atlow) nodejs#49614

PR-URL: nodejs#49932
debadree25 pushed a commit to debadree25/node that referenced this pull request Apr 15, 2024
PR-URL: nodejs#49834
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Robert Nagy <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
debadree25 pushed a commit to debadree25/node that referenced this pull request Apr 15, 2024
Notable changes:

deps:
  * add v8::Object::SetInternalFieldForNodeCore() (Joyee Cheung) nodejs#49874
doc:
  * deprecate `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK` (Livia Medeiros) nodejs#49683
  * deprecate `util.toUSVString` (Yagiz Nizipli) nodejs#49725
  * deprecate calling `promisify` on a function that returns a promise (Antoine du Hamel) nodejs#49647
esm:
  * set all hooks as release candidate (Geoffrey Booth) nodejs#49597
module:
  * fix the leak in SourceTextModule and ContextifySript (Joyee Cheung) nodejs#48510
  * fix leak of vm.SyntheticModule (Joyee Cheung) nodejs#48510
  * use symbol in WeakMap to manage host defined options (Joyee Cheung) nodejs#48510
src:
  * (SEMVER-MINOR) allow embedders to override NODE_MODULE_VERSION (Cheng Zhao) nodejs#49279
stream:
  * use bitmap in writable state (Raz Luvaton) nodejs#49834
  * use bitmap in readable state (Benjamin Gruenbaum) nodejs#49745
  * improve webstream readable async iterator performance (Raz Luvaton) nodejs#49662
test_runner:
  * (SEMVER-MINOR) accept `testOnly` in `run` (Moshe Atlow) nodejs#49753
  * (SEMVER-MINOR) add junit reporter (Moshe Atlow) nodejs#49614

PR-URL: nodejs#49932
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. needs-benchmark-ci PR that need a benchmark CI run. needs-ci PRs that need a full CI run. notable-change PRs with changes that should be highlighted in changelogs. performance Issues and PRs related to the performance of Node.js. stream Issues and PRs related to the stream subsystem.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants