Skip to content

Conversation

@MoritzLoewenstein
Copy link

@MoritzLoewensteinMoritzLoewenstein commented Aug 21, 2021

Improve the fsPromises readFile performance
by allocating only one buffer, when size is known,
increase the size of the readbuffer chunks,
and dont read more data if size bytes have been read.
Also moves constants to internal/fs/utils.

refs: #37583
(Old) Backport-PR-URL: #37703
PR-URL: #37608

This PR is backporting the fs readFile promise performance improvements to v14.x, essentially copying these two prs (i wasnt able to cherry-pick, not sure if its my git skills or something else):
#38061 "fs: move constants to internal/fs/utils.js"
#37703 "[v14.x backport] fs: improve fsPromises readFile performance"

@github-actionsgithub-actionsbot added fs Issues and PRs related to the fs subsystem / file system. needs-ci PRs that need a full CI run. v14.x labels Aug 21, 2021
@aduh95
Copy link
Contributor

Assuming upstream and origin are configured in a classical way, you should be able to cherry-pick the original commits using the following commands:

git fetch upstream master git fetch upstream v14.x-staging git reset upstream/v14.x-staging --hard git cherry-pick 24fd791184ad0ba27f92ac49b820aec78e491296 git cherry-pick e216d8f4a1277e77903e9c2c716fefa3b196761b git cherry-pick b9fd4eb651dd26c3845aa46714593abae185455d git push origin HEAD:fs-read-promises-backport -f 

@MoritzLoewenstein
Copy link
Author

MoritzLoewenstein commented Aug 21, 2021

Thank you :)

Added ArrayPrototypePush import to 2nd commit, your third cherry-pick is already in v14.

@MoritzLoewensteinMoritzLoewensteinforce-pushed the fs-read-promises-backport branch 2 times, most recently from 71a3fb3 to 6f22200CompareAugust 21, 2021 21:52
RaisinTenand others added 2 commits September 1, 2021 09:30
Refs: nodejs#38004 (comment) PR-URL: nodejs#38061 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Nitzan Uziely <[email protected]> Reviewed-By: James M Snell <[email protected]>
Improve the fsPromises readFile performance by allocating only one buffer, when size is known, increase the size of the readbuffer chunks, and dont read more data if size bytes have been read Refs: nodejs#37583 PR-URL: nodejs#37608 Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
targos pushed a commit that referenced this pull request Sep 4, 2021
Refs: #38004 (comment) PR-URL: #38061 Backport-PR-URL: #39838 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Nitzan Uziely <[email protected]> Reviewed-By: James M Snell <[email protected]>
targos pushed a commit that referenced this pull request Sep 4, 2021
Improve the fsPromises readFile performance by allocating only one buffer, when size is known, increase the size of the readbuffer chunks, and dont read more data if size bytes have been read Refs: #37583 PR-URL: #37608 Backport-PR-URL: #39838 Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
@targos
Copy link
Member

Landed in f69c934...2b0e270. Thank you!

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fsIssues and PRs related to the fs subsystem / file system.needs-ciPRs that need a full CI run.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@MoritzLoewenstein@aduh95@targos@Linkgoron@RaisinTen