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 bit fields for construct/destroy #50408

Merged

Conversation

ronag
Copy link
Member

@ronag ronag commented Oct 26, 2023

No description provided.

@ronag ronag requested a review from rluvaton October 26, 2023 13:47
@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented Oct 26, 2023

Review requested:

  • @nodejs/streams

@ronag ronag requested review from mcollina and benjamingr October 26, 2023 13:47
@nodejs-github-bot nodejs-github-bot added the needs-ci PRs that need a full CI run. label Oct 26, 2023
@ronag
Copy link
Member Author

ronag commented Oct 26, 2023

ronag added a commit to nxtedition/node that referenced this pull request Oct 26, 2023
@ronag ronag force-pushed the bitmap-constructor-destroy branch from 6a5c0d6 to 3bf4eaf Compare October 26, 2023 13:47
ronag added a commit to nxtedition/node that referenced this pull request Oct 26, 2023
@ronag ronag force-pushed the bitmap-constructor-destroy branch from 3bf4eaf to 02e3f43 Compare October 26, 2023 14:00
ronag added a commit to nxtedition/node that referenced this pull request Oct 26, 2023
@ronag ronag force-pushed the bitmap-constructor-destroy branch from 02e3f43 to 74712a7 Compare October 26, 2023 14:02
Copy link
Member

@mcollina mcollina left a comment

Choose a reason for hiding this comment

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

lgtm

@ronag ronag added request-ci Add this label to start a Jenkins CI on a PR. author ready PRs that have at least one approval, no pending requests for changes, and a CI started. labels Oct 26, 2023
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Oct 26, 2023
@nodejs-github-bot
Copy link
Collaborator

Comment on lines +26 to +34
const kObjectMode = 1 << 0;
const kErrorEmitted = 1 << 1;
const kAutoDestroy = 1 << 2;
const kEmitClose = 1 << 3;
const kDestroyed = 1 << 4;
const kClosed = 1 << 5;
const kCloseEmitted = 1 << 6;
const kErrored = 1 << 7;
const kConstructed = 1 << 8;
Copy link
Member

Choose a reason for hiding this comment

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

How can we enforce that readable/writable stream will not have a bit state with the same position?

Copy link
Member Author

Choose a reason for hiding this comment

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

Not sure. Suggestions?

lib/internal/streams/destroy.js Outdated Show resolved Hide resolved
ronag added a commit to nxtedition/node that referenced this pull request Oct 26, 2023
@ronag ronag force-pushed the bitmap-constructor-destroy branch from 74712a7 to 763eaa1 Compare October 26, 2023 14:52
@ronag ronag force-pushed the bitmap-constructor-destroy branch from 763eaa1 to cea0fb4 Compare October 27, 2023 07:00
@ronag ronag added the request-ci Add this label to start a Jenkins CI on a PR. label Oct 27, 2023
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Oct 27, 2023
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@anonrig
Copy link
Member

anonrig commented Oct 27, 2023

@ronag If the motivation of this change is performance, can you share the benchmarks?

@ronag
Copy link
Member Author

ronag commented Oct 27, 2023

There is a CI benchmark

@ronag ronag added the commit-queue Add this label to land a pull request using GitHub Actions. label Oct 27, 2023
@nodejs-github-bot nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Oct 28, 2023
@nodejs-github-bot nodejs-github-bot merged commit 4c3dde9 into nodejs:main Oct 28, 2023
25 checks passed
@nodejs-github-bot
Copy link
Collaborator

Landed in 4c3dde9

alexfernandez pushed a commit to alexfernandez/node that referenced this pull request Nov 1, 2023
PR-URL: nodejs#50408
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Raz Luvaton <rluvaton@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
targos pushed a commit that referenced this pull request Nov 11, 2023
PR-URL: #50408
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Raz Luvaton <rluvaton@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
UlisesGascon pushed a commit that referenced this pull request Dec 11, 2023
PR-URL: #50408
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Raz Luvaton <rluvaton@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
@UlisesGascon UlisesGascon mentioned this pull request Dec 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
author ready PRs that have at least one approval, no pending requests for changes, and a CI started. needs-ci PRs that need a full CI run.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants