GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — stream: use bitmap in writable state by rluvaton · Pull Request #49834 · nodejs/node

Conversation

@rluvaton

@rluvaton rluvaton commented Sep 23, 2023 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

same as the following PR but for writable:

  • stream: use bitmap in readable state #49745

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

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

MoLow, H4ad, henriqueio, bricss, MomenNano, and EthyMoney reacted with thumbs up emoji H4ad, bricss, MomenNano, and EthyMoney reacted with rocket emoji
All reactions
  • 👍 6 reactions
  • 🚀 4 reactions
@nodejs-github-bot

nodejs-github-bot commented Sep 23, 2023

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/streams
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@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 Node.js streams. performance Issues and PRs related to the performance of Node.js. needs-benchmark-ci PRs that need a benchmark CI run. labels Sep 23, 2023
@rluvaton

rluvaton commented Sep 23, 2023

Copy link
Copy Markdown
Member Author

Benchmark ci:
https://ci.nodejs.org/job/benchmark-node-micro-benchmarks/1412/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@rluvaton rluvaton assigned benjamingr Sep 23, 2023
benjamingr

This comment was marked as outdated.

Sign in to view

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@rluvaton rluvaton added the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Sep 23, 2023
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Sep 23, 2023
@nodejs-github-bot

nodejs-github-bot commented Sep 23, 2023

Copy link
Copy Markdown
Collaborator

CI: https://ci.nodejs.org/job/node-test-pull-request/54185/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@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. Only starts once the PR has an approving review. label Sep 24, 2023
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Sep 24, 2023
@nodejs-github-bot

nodejs-github-bot commented Sep 24, 2023

Copy link
Copy Markdown
Collaborator

CI: https://ci.nodejs.org/job/node-test-pull-request/54187/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

rluvaton added 2 commits September 24, 2023 12:22
@rluvaton
stream: use bitmap in writable state
84157bb
@rluvaton
stream: add brackets
f86c8ab
@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

nodejs-github-bot commented Sep 24, 2023

Copy link
Copy Markdown
Collaborator

CI: https://ci.nodejs.org/job/node-test-pull-request/54188/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@rluvaton
stream: add brackets and fix again
0331c1c
@nodejs-github-bot

nodejs-github-bot commented Sep 24, 2023

Copy link
Copy Markdown
Collaborator

CI: https://ci.nodejs.org/job/node-test-pull-request/54189/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@rluvaton
stream: fix tests
b6ac911
@nodejs-github-bot

nodejs-github-bot commented Sep 24, 2023

Copy link
Copy Markdown
Collaborator

CI: https://ci.nodejs.org/job/node-test-pull-request/54190/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@rluvaton rluvaton added the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Sep 24, 2023
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Sep 24, 2023
@nodejs-github-bot

nodejs-github-bot commented Sep 24, 2023

Copy link
Copy Markdown
Collaborator

CI: https://ci.nodejs.org/job/node-test-pull-request/54191/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

ronag
ronag approved these changes Sep 24, 2023
View reviewed changes
@nodejs-github-bot

nodejs-github-bot commented Sep 24, 2023

Copy link
Copy Markdown
Collaborator

CI: https://ci.nodejs.org/job/node-test-pull-request/54194/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

lpinca
lpinca approved these changes Sep 24, 2023
View reviewed changes

@lpinca lpinca left a comment

Copy link
Copy Markdown
Member

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.

RSLGTM

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@nodejs-github-bot

nodejs-github-bot commented Sep 24, 2023

Copy link
Copy Markdown
Collaborator

CI: https://ci.nodejs.org/job/node-test-pull-request/54197/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@nodejs-github-bot nodejs-github-bot added commit-queue-failed PRs whose Commit Queue landing failed and need manual intervention before retrying. and removed commit-queue PRs queued for automated landing through the Commit Queue. labels Sep 26, 2023
@nodejs-github-bot

nodejs-github-bot commented Sep 26, 2023

Copy link
Copy Markdown
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

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@rluvaton rluvaton added commit-queue PRs queued for automated landing through the Commit Queue. commit-queue-squash PRs the Commit Queue should land as one squashed commit. and removed commit-queue-failed PRs whose Commit Queue landing failed and need manual intervention before retrying. labels Sep 26, 2023
@nodejs-github-bot nodejs-github-bot removed the commit-queue PRs queued for automated landing through the Commit Queue. label Sep 26, 2023
@nodejs-github-bot
nodejs-github-bot merged commit 6754652 into nodejs:main Sep 26, 2023
@nodejs-github-bot

nodejs-github-bot commented Sep 26, 2023

Copy link
Copy Markdown
Collaborator

Landed in 6754652

benjamingr reacted with hooray emoji
All reactions
  • 🎉 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@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

github-actions Bot commented Sep 26, 2023

Copy link
Copy Markdown
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.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@benjamingr

benjamingr commented Sep 26, 2023

Copy link
Copy Markdown
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

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@github-actions github-actions Bot mentioned this pull request Sep 27, 2023
CI Reliability 2023-09-27 nodejs/reliability#676
Open
21 tasks
ruyadorno pushed a commit that referenced this pull request Sep 28, 2023
@rluvaton @ruyadorno
stream: use bitmap in writable state
12fe6a0
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 ruyadorno mentioned this pull request Sep 28, 2023
v20.7.1 proposal #49917
Closed
ruyadorno added a commit that referenced this pull request Sep 28, 2023
@ruyadorno
2023-09-28, Version 20.7.1 (Current)
eee298e
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
@rluvaton @ruyadorno
stream: use bitmap in writable state
9fd67fb
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 ruyadorno mentioned this pull request Sep 28, 2023
v20.8.0 proposal #49932
Merged
ruyadorno added a commit that referenced this pull request Sep 28, 2023
@ruyadorno
2023-09-28, Version 20.8.0 (Current)
a86c2ca
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
@ruyadorno
2023-09-28, Version 20.8.0 (Current)
5570c29
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
@dead-claudia dead-claudia mentioned this pull request Feb 12, 2024
Bitwise operations are seemingly not minimized or optimized at all terser/terser#1343
Closed
debadree25 pushed a commit to debadree25/node that referenced this pull request Apr 15, 2024
@rluvaton @debadree25
stream: use bitmap in writable state
97c63a6
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
@ruyadorno @debadree25
2023-09-28, Version 20.8.0 (Current)
2eb20e5
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
@anonrig anonrig mentioned this pull request Oct 17, 2025
update node.js streams implementation cloudflare/workerd#5298
Merged
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@benjamingr benjamingr benjamingr approved these changes
@lpinca lpinca lpinca approved these changes
@anonrig anonrig anonrig approved these changes
@ronag ronag ronag approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

@benjamingr benjamingr

Labels

commit-queue-squash PRs the Commit Queue should land as one squashed commit. needs-benchmark-ci PRs 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 Node.js streams.

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

6 participants

@rluvaton @nodejs-github-bot @benjamingr @ronag @lpinca @anonrig
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.