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 — fs: move `rmSync` implementation to c++ by anonrig · Pull Request #53617 · nodejs/node

Conversation

@anonrig

@anonrig anonrig commented Jun 28, 2024 •
edited
Loading

Uh oh!

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

Copy link
Copy Markdown
Member

Work in progress.

I need to write some benchmarks before making this pull-request ready.

Benchmark on all fs commands: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/1575/

Sorry, something went wrong.

Uh oh!

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

bricss reacted with rocket emoji
All reactions
  • 🚀 1 reaction
@nodejs-github-bot nodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. lib / src Issues and PRs involving general changes in the lib/ or src/ directories. needs-ci PRs that need a full CI run. labels Jun 28, 2024
@anonrig
anonrig force-pushed the improve-rmSync-performance branch from c541155 to 3d2975d Compare June 28, 2024 00:39
@nodejs-github-bot

This comment was marked as outdated.

Sign in to view
@anonrig
anonrig force-pushed the improve-rmSync-performance branch from 3d2975d to d820ac1 Compare June 28, 2024 00:46
@nodejs-github-bot

nodejs-github-bot commented Jun 28, 2024

Copy link
Copy Markdown
Collaborator

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

All reactions

Sorry, something went wrong.

Uh oh!

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

@anonrig
anonrig force-pushed the improve-rmSync-performance branch from d820ac1 to 8d02638 Compare June 28, 2024 13:54
@anonrig
anonrig requested review from jasnell and lemire June 28, 2024 13:54
lemire
lemire reviewed Jun 28, 2024
View reviewed changes
Comment thread src/node_file.cc Resolved

Uh oh!

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

@anonrig
anonrig force-pushed the improve-rmSync-performance branch from 8d02638 to 2538925 Compare June 28, 2024 14:03
lemire
lemire approved these changes Jun 28, 2024
View reviewed changes
@anonrig
anonrig requested review from addaleax, benjamingr and tniessen June 28, 2024 14:06
@anonrig anonrig added request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. author ready PRs with CI started, the required approvals, and no outstanding review comments. labels Jun 28, 2024
@benjamingr

benjamingr commented Jun 28, 2024

Copy link
Copy Markdown
Member

Benchmark results (since CI is locked down):

06:16:05                                                                                                                  confidence improvement accuracy (*)    (**)   (***)
06:16:05 fs/bench_fdatasyncSync.js n=10000 type='existing'                                                                               -0.13 %       ±0.31%  ±0.42%  ±0.55%
06:16:05 fs/bench_fdatasyncSync.js n=10000 type='non-existing'                                                                           -0.64 %       ±3.05%  ±4.06%  ±5.29%
06:16:05 fs/bench-accessSync.js n=100000 type='existing'                                                                                 -0.19 %       ±0.64%  ±0.85%  ±1.11%
06:16:05 fs/bench-accessSync.js n=100000 type='non-existing'                                                                              0.15 %       ±0.39%  ±0.51%  ±0.67%
06:16:05 fs/bench-accessSync.js n=100000 type='non-flat-existing'                                                                        -0.39 %       ±0.53%  ±0.71%  ±0.94%
06:16:05 fs/bench-chmodSync.js n=1000 type='existing'                                                                                    -0.31 %       ±1.36%  ±1.82%  ±2.37%
06:16:05 fs/bench-chmodSync.js n=1000 type='non-existing'                                                                          *     -3.16 %       ±2.91%  ±3.92%  ±5.18%
06:16:05 fs/bench-chownSync.js n=10000 method='chownSync' type='existing'                                                                -1.30 %       ±3.66%  ±4.88%  ±6.35%
06:16:05 fs/bench-chownSync.js n=10000 method='chownSync' type='non-existing'                                                            -0.18 %       ±1.33%  ±1.77%  ±2.31%
06:16:05 fs/bench-chownSync.js n=10000 method='lchownSync' type='existing'                                                               -1.38 %       ±2.74%  ±3.65%  ±4.76%
06:16:05 fs/bench-chownSync.js n=10000 method='lchownSync' type='non-existing'                                                           -0.05 %       ±1.60%  ±2.14%  ±2.78%
06:16:05 fs/bench-copyFileSync.js n=10000 type='invalid'                                                                                 -0.23 %       ±1.13%  ±1.50%  ±1.95%
06:16:05 fs/bench-copyFileSync.js n=10000 type='valid'                                                                                    0.89 %       ±4.50%  ±5.99%  ±7.81%
06:16:05 fs/bench-cpSync.js n=1                                                                                                          -7.04 %       ±7.32%  ±9.78% ±12.82%
06:16:05 fs/bench-cpSync.js n=100                                                                                                        -0.02 %       ±2.38%  ±3.17%  ±4.12%
06:16:05 fs/bench-cpSync.js n=10000                                                                                                       0.16 %       ±0.86%  ±1.15%  ±1.49%
06:16:05 fs/bench-existsSync.js n=1000000 type='existing'                                                                        ***     -1.37 %       ±0.58%  ±0.77%  ±1.01%
06:16:05 fs/bench-existsSync.js n=1000000 type='non-existing'                                                                    ***     -3.88 %       ±0.57%  ±0.75%  ±0.98%
06:16:05 fs/bench-existsSync.js n=1000000 type='non-flat-existing'                                                               ***     -1.88 %       ±0.52%  ±0.69%  ±0.92%
06:16:05 fs/bench-fchmodSync.js n=1000 type='existing'                                                                                   -3.28 %       ±5.72%  ±7.63%  ±9.96%
06:16:05 fs/bench-fchmodSync.js n=1000 type='non-existing'                                                                                0.53 %       ±4.27%  ±5.68%  ±7.40%
06:16:05 fs/bench-fsyncSync.js n=10000 type='existing'                                                                             *      0.53 %       ±0.42%  ±0.56%  ±0.74%
06:16:05 fs/bench-fsyncSync.js n=10000 type='non-existing'                                                                                0.29 %       ±2.78%  ±3.70%  ±4.81%
06:16:05 fs/bench-ftruncateSync.js n=10000 type='invalid'                                                                                -1.07 %       ±1.42%  ±1.89%  ±2.46%
06:16:05 fs/bench-ftruncateSync.js n=10000 type='valid'                                                                                   0.48 %       ±3.52%  ±4.69%  ±6.11%
06:16:05 fs/bench-linkSync.js n=1000 type='invalid'                                                                                      -1.70 %       ±3.97%  ±5.28%  ±6.87%
06:16:05 fs/bench-linkSync.js n=1000 type='valid'                                                                                         0.45 %       ±5.19%  ±6.90%  ±8.99%
06:16:05 fs/bench-mkdirp.js n=10000                                                                                                      21.16 %      ±25.59% ±34.09% ±44.44%
06:16:05 fs/bench-mkdirSync.js n=1000 recursive='false' type='existing'                                                                  -2.22 %       ±2.53%  ±3.38%  ±4.43%
06:16:05 fs/bench-mkdirSync.js n=1000 recursive='false' type='non-existing'                                                              -0.05 %      ±13.50% ±17.97% ±23.39%
06:16:05 fs/bench-mkdirSync.js n=1000 recursive='true' type='existing'                                                             *     -3.99 %       ±3.21%  ±4.28%  ±5.57%
06:16:05 fs/bench-mkdirSync.js n=1000 recursive='true' type='non-existing'                                                               -1.26 %      ±10.89% ±14.49% ±18.86%
06:16:05 fs/bench-mkdtempSync.js n=10000 type='invalid'                                                                                   0.71 %       ±1.26%  ±1.69%  ±2.24%
06:16:05 fs/bench-mkdtempSync.js n=10000 type='valid-buffer'                                                                             -2.67 %      ±12.06% ±16.05% ±20.89%
06:16:05 fs/bench-mkdtempSync.js n=10000 type='valid-string'                                                                              3.13 %      ±11.61% ±15.45% ±20.11%
06:16:05 fs/bench-opendir.js bufferSize=1024 mode='async' dir='lib' n=100                                                                 1.69 %       ±3.89%  ±5.18%  ±6.76%
06:16:05 fs/bench-opendir.js bufferSize=1024 mode='async' dir='test/parallel' n=100                                                       0.12 %       ±0.75%  ±1.00%  ±1.30%
06:16:05 fs/bench-opendir.js bufferSize=1024 mode='callback' dir='lib' n=100                                                             -0.47 %       ±1.98%  ±2.64%  ±3.43%
06:16:05 fs/bench-opendir.js bufferSize=1024 mode='callback' dir='test/parallel' n=100                                                   10.67 %      ±13.32% ±17.72% ±23.08%
06:16:05 fs/bench-opendir.js bufferSize=1024 mode='sync' dir='lib' n=100                                                                  0.45 %       ±1.16%  ±1.55%  ±2.02%
06:16:05 fs/bench-opendir.js bufferSize=1024 mode='sync' dir='test/parallel' n=100                                                        0.17 %       ±0.49%  ±0.66%  ±0.85%
06:16:05 fs/bench-opendir.js bufferSize=32 mode='async' dir='lib' n=100                                                                   0.53 %       ±2.61%  ±3.47%  ±4.53%
06:16:05 fs/bench-opendir.js bufferSize=32 mode='async' dir='test/parallel' n=100                                                        -0.12 %       ±0.90%  ±1.19%  ±1.55%
06:16:05 fs/bench-opendir.js bufferSize=32 mode='callback' dir='lib' n=100                                                               -0.80 %       ±2.04%  ±2.72%  ±3.54%
06:16:05 fs/bench-opendir.js bufferSize=32 mode='callback' dir='test/parallel' n=100                                                      0.15 %       ±1.49%  ±1.99%  ±2.59%
06:16:05 fs/bench-opendir.js bufferSize=32 mode='sync' dir='lib' n=100                                                                   -0.08 %       ±1.70%  ±2.26%  ±2.94%
06:16:05 fs/bench-opendir.js bufferSize=32 mode='sync' dir='test/parallel' n=100                                                         -0.38 %       ±0.63%  ±0.84%  ±1.10%
06:16:05 fs/bench-opendir.js bufferSize=4 mode='async' dir='lib' n=100                                                             *     -2.10 %       ±1.92%  ±2.57%  ±3.35%
06:16:05 fs/bench-opendir.js bufferSize=4 mode='async' dir='test/parallel' n=100                                                          0.48 %       ±0.64%  ±0.86%  ±1.11%
06:16:05 fs/bench-opendir.js bufferSize=4 mode='callback' dir='lib' n=100                                                                 1.17 %       ±1.92%  ±2.57%  ±3.36%
06:16:05 fs/bench-opendir.js bufferSize=4 mode='callback' dir='test/parallel' n=100                                                *     -0.88 %       ±0.73%  ±0.97%  ±1.26%
06:16:05 fs/bench-opendir.js bufferSize=4 mode='sync' dir='lib' n=100                                                                     0.01 %       ±1.04%  ±1.39%  ±1.81%
06:16:05 fs/bench-opendir.js bufferSize=4 mode='sync' dir='test/parallel' n=100                                                           0.33 %       ±0.39%  ±0.53%  ±0.69%
06:16:05 fs/bench-opendirSync.js n=1000 type='existing'                                                                          ***      0.70 %       ±0.29%  ±0.39%  ±0.51%
06:16:05 fs/bench-opendirSync.js n=1000 type='non-existing'                                                                               0.76 %       ±8.43% ±11.22% ±14.61%
06:16:05 fs/bench-openSync.js n=100000 type='existing'                                                                           ***     -0.97 %       ±0.55%  ±0.73%  ±0.95%
06:16:05 fs/bench-openSync.js n=100000 type='non-existing'                                                                       ***     -0.78 %       ±0.39%  ±0.52%  ±0.68%
06:16:05 fs/bench-readdir.js withFileTypes='false' dir='lib' n=10                                                                         0.50 %      ±11.80% ±15.70% ±20.44%
06:16:05 fs/bench-readdir.js withFileTypes='false' dir='test/parallel' n=10                                                               3.69 %       ±8.60% ±11.44% ±14.89%
06:16:05 fs/bench-readdir.js withFileTypes='true' dir='lib' n=10                                                                          9.21 %      ±12.09% ±16.09% ±20.94%
06:16:05 fs/bench-readdir.js withFileTypes='true' dir='test/parallel' n=10                                                               -1.26 %       ±8.42% ±11.21% ±14.60%
06:16:05 fs/bench-readdirSync.js withFileTypes='false' dir='lib' n=10                                                                    -0.52 %       ±2.45%  ±3.26%  ±4.24%
06:16:05 fs/bench-readdirSync.js withFileTypes='false' dir='test/parallel' n=10                                                           0.36 %       ±3.15%  ±4.19%  ±5.46%
06:16:05 fs/bench-readdirSync.js withFileTypes='true' dir='lib' n=10                                                                      0.04 %       ±3.38%  ±4.51%  ±5.87%
06:16:05 fs/bench-readdirSync.js withFileTypes='true' dir='test/parallel' n=10                                                           -0.42 %       ±2.71%  ±3.61%  ±4.70%
06:16:05 fs/bench-readlinkSync.js n=1000 type='invalid'                                                                                  -2.98 %       ±3.75%  ±5.00%  ±6.53%
06:16:05 fs/bench-readlinkSync.js n=1000 type='valid'                                                                                     1.68 %       ±2.13%  ±2.84%  ±3.70%
06:16:05 fs/bench-readSync.js n=10000 type='existing'                                                                                     1.05 %       ±1.33%  ±1.77%  ±2.32%
06:16:05 fs/bench-readSync.js n=10000 type='non-existing'                                                                        ***      2.30 %       ±0.35%  ±0.47%  ±0.61%
06:16:05 fs/bench-readvSync.js n=100000 type='invalid'                                                                                   -0.65 %       ±0.65%  ±0.86%  ±1.12%
06:16:05 fs/bench-readvSync.js n=100000 type='valid'                                                                             ***     -2.96 %       ±1.54%  ±2.06%  ±2.67%
06:16:05 fs/bench-realpath.js pathType='relative' n=10000                                                                                -0.15 %       ±0.84%  ±1.12%  ±1.46%
06:16:05 fs/bench-realpath.js pathType='resolved' n=10000                                                                                 0.48 %       ±0.79%  ±1.05%  ±1.36%
06:16:05 fs/bench-realpathSync.js pathType='relative' n=10000                                                                            -0.84 %       ±0.85%  ±1.13%  ±1.47%
06:16:05 fs/bench-realpathSync.js pathType='resolved' n=10000                                                                             0.40 %       ±1.51%  ±2.01%  ±2.63%
06:16:05 fs/bench-renameSync.js n=2000 type='invalid'                                                                                    -1.21 %       ±3.90%  ±5.20%  ±6.78%
06:16:05 fs/bench-renameSync.js n=2000 type='valid'                                                                                *     -0.57 %       ±0.50%  ±0.66%  ±0.86%
06:16:05 fs/bench-rmdirSync.js n=10000 type='existing'                                                                                   -0.73 %       ±2.30%  ±3.07%  ±3.99%
06:16:05 fs/bench-rmdirSync.js n=10000 type='non-existing'                                                                               -0.27 %       ±0.61%  ±0.81%  ±1.06%
06:16:05 fs/bench-stat-promise.js statType='fstat' n=200000                                                                       **     -1.32 %       ±0.98%  ±1.30%  ±1.70%
06:16:05 fs/bench-stat-promise.js statType='lstat' n=200000                                                                              -0.10 %       ±1.14%  ±1.52%  ±1.98%
06:16:05 fs/bench-stat-promise.js statType='stat' n=200000                                                                               -0.97 %       ±1.25%  ±1.67%  ±2.17%
06:16:05 fs/bench-stat.js statType='fstat' n=200000                                                                                      -0.05 %       ±1.26%  ±1.67%  ±2.18%
06:16:05 fs/bench-stat.js statType='lstat' n=200000                                                                                       0.47 %       ±1.23%  ±1.63%  ±2.12%
06:16:05 fs/bench-stat.js statType='stat' n=200000                                                                                        0.42 %       ±1.28%  ±1.70%  ±2.22%
06:16:05 fs/bench-statSync-failure.js throwType='noThrow' statSyncType='lstatSync' n=10000                                       ***     17.09 %       ±3.76%  ±5.02%  ±6.56%
06:16:05 fs/bench-statSync-failure.js throwType='noThrow' statSyncType='statSync' n=10000                                        ***     14.90 %       ±3.52%  ±4.69%  ±6.11%
06:16:05 fs/bench-statSync-failure.js throwType='throw' statSyncType='fstatSync' n=10000                                                  0.68 %       ±1.81%  ±2.40%  ±3.13%
06:16:05 fs/bench-statSync-failure.js throwType='throw' statSyncType='lstatSync' n=10000                                                  0.03 %       ±1.54%  ±2.04%  ±2.66%
06:16:05 fs/bench-statSync-failure.js throwType='throw' statSyncType='statSync' n=10000                                                  -0.24 %       ±0.97%  ±1.30%  ±1.69%
06:16:05 fs/bench-statSync.js statSyncType='fstatSync' n=10000                                                                   ***     12.37 %       ±2.89%  ±3.85%  ±5.03%
06:16:05 fs/bench-statSync.js statSyncType='lstatSync' n=10000                                                                           -0.78 %       ±4.10%  ±5.46%  ±7.14%
06:16:05 fs/bench-statSync.js statSyncType='statSync' n=10000                                                                             0.58 %       ±3.31%  ±4.44%  ±5.86%
06:16:05 fs/bench-symlinkSync.js n=1000 type='invalid'                                                                                   -0.41 %       ±3.24%  ±4.31%  ±5.62%
06:16:05 fs/bench-symlinkSync.js n=1000 type='valid'                                                                                      3.55 %       ±4.04%  ±5.37%  ±7.00%
06:16:05 fs/bench-timesSync.js n=1000 func='futimes' type='existing'                                                                      2.11 %       ±2.37%  ±3.15%  ±4.10%
06:16:05 fs/bench-timesSync.js n=1000 func='futimes' type='non-existing'                                                                 -1.57 %       ±2.26%  ±3.02%  ±3.97%
06:16:05 fs/bench-timesSync.js n=1000 func='lutimes' type='existing'                                                                      0.06 %       ±1.91%  ±2.55%  ±3.36%
06:16:05 fs/bench-timesSync.js n=1000 func='lutimes' type='non-existing'                                                                 -0.81 %       ±1.64%  ±2.19%  ±2.86%
06:16:05 fs/bench-timesSync.js n=1000 func='utimes' type='existing'                                                                      -0.94 %       ±1.00%  ±1.33%  ±1.73%
06:16:05 fs/bench-timesSync.js n=1000 func='utimes' type='non-existing'                                                                   4.01 %       ±4.01%  ±5.37%  ±7.06%
06:16:05 fs/bench-unlinkSync.js n=1000 type='existing'                                                                                   -0.02 %       ±0.59%  ±0.78%  ±1.02%
06:16:05 fs/bench-unlinkSync.js n=1000 type='non-existing'                                                                                0.50 %       ±2.89%  ±3.84%  ±5.00%
06:16:05 fs/bench-writeFileSync.js n=1000 func='writeFile' useBuffer='false' length=1024 useFd='false' encoding='utf8'                    1.11 %      ±14.06% ±18.71% ±24.36%
06:16:05 fs/bench-writeFileSync.js n=1000 func='writeFile' useBuffer='false' length=1024 useFd='true' encoding='utf8'                     1.22 %       ±3.07%  ±4.09%  ±5.35%
06:16:05 fs/bench-writeFileSync.js n=1000 func='writeFile' useBuffer='false' length=102400 useFd='false' encoding='utf8'                 -0.49 %       ±7.68% ±10.21% ±13.29%
06:16:05 fs/bench-writeFileSync.js n=1000 func='writeFile' useBuffer='false' length=102400 useFd='true' encoding='utf8'                  -0.21 %       ±1.00%  ±1.33%  ±1.74%
06:16:05 fs/bench-writeFileSync.js n=1000 func='writeFile' useBuffer='false' length=1048576 useFd='false' encoding='utf8'                 2.56 %       ±7.31%  ±9.74% ±12.71%
06:16:05 fs/bench-writeFileSync.js n=1000 func='writeFile' useBuffer='false' length=1048576 useFd='true' encoding='utf8'                  0.17 %       ±0.31%  ±0.41%  ±0.54%
06:16:05 fs/bench-writevSync.js n=100000 type='invalid'                                                                                  -0.14 %       ±0.65%  ±0.87%  ±1.13%
06:16:05 fs/bench-writevSync.js n=100000 type='valid'                                                                                    -0.66 %       ±0.73%  ±0.97%  ±1.27%
06:16:05 fs/read-stream-throughput.js n=1024 highWaterMark=1024 filesize=1024000 encodingType='asc'                                       0.45 %       ±0.66%  ±0.88%  ±1.14%
06:16:05 fs/read-stream-throughput.js n=1024 highWaterMark=1024 filesize=1024000 encodingType='buf'                                       0.58 %       ±1.17%  ±1.56%  ±2.03%
06:16:05 fs/read-stream-throughput.js n=1024 highWaterMark=1024 filesize=1024000 encodingType='utf'                                *      0.45 %       ±0.44%  ±0.59%  ±0.77%
06:16:05 fs/read-stream-throughput.js n=1024 highWaterMark=1048576 filesize=1024000 encodingType='asc'                                    0.14 %       ±3.38%  ±4.50%  ±5.87%
06:16:05 fs/read-stream-throughput.js n=1024 highWaterMark=1048576 filesize=1024000 encodingType='buf'                                   15.47 %      ±25.26% ±33.61% ±43.74%
06:16:05 fs/read-stream-throughput.js n=1024 highWaterMark=1048576 filesize=1024000 encodingType='utf'                           ***     -0.33 %       ±0.10%  ±0.13%  ±0.17%
06:16:05 fs/read-stream-throughput.js n=1024 highWaterMark=4096 filesize=1024000 encodingType='asc'                                       0.26 %       ±0.47%  ±0.63%  ±0.82%
06:16:05 fs/read-stream-throughput.js n=1024 highWaterMark=4096 filesize=1024000 encodingType='buf'                                       1.17 %       ±1.64%  ±2.19%  ±2.85%
06:16:05 fs/read-stream-throughput.js n=1024 highWaterMark=4096 filesize=1024000 encodingType='utf'                                       0.32 %       ±0.44%  ±0.58%  ±0.76%
06:16:05 fs/read-stream-throughput.js n=1024 highWaterMark=65535 filesize=1024000 encodingType='asc'                                     -0.77 %       ±2.11%  ±2.81%  ±3.65%
06:16:05 fs/read-stream-throughput.js n=1024 highWaterMark=65535 filesize=1024000 encodingType='buf'                                      7.57 %      ±11.91% ±15.85% ±20.64%
06:16:05 fs/read-stream-throughput.js n=1024 highWaterMark=65535 filesize=1024000 encodingType='utf'                             ***      1.09 %       ±0.49%  ±0.65%  ±0.85%
06:16:05 fs/readfile-partitioned.js concurrent=1 len=1024 encoding='' duration=5                                                          0.09 %       ±0.42%  ±0.56%  ±0.73%
06:16:05 fs/readfile-partitioned.js concurrent=1 len=1024 encoding='utf-8' duration=5                                                    -0.35 %       ±0.40%  ±0.53%  ±0.69%
06:16:05 fs/readfile-partitioned.js concurrent=1 len=16777216 encoding='' duration=5                                                     -0.07 %       ±0.27%  ±0.36%  ±0.47%
06:16:05 fs/readfile-partitioned.js concurrent=1 len=16777216 encoding='utf-8' duration=5                                                 0.11 %       ±0.77%  ±1.02%  ±1.33%
06:16:05 fs/readfile-partitioned.js concurrent=10 len=1024 encoding='' duration=5                                                  *     -0.82 %       ±0.77%  ±1.02%  ±1.33%
06:16:05 fs/readfile-partitioned.js concurrent=10 len=1024 encoding='utf-8' duration=5                                                   -0.64 %       ±0.66%  ±0.88%  ±1.14%
06:16:05 fs/readfile-partitioned.js concurrent=10 len=16777216 encoding='' duration=5                                                    -0.51 %       ±1.12%  ±1.50%  ±1.95%
06:16:05 fs/readfile-partitioned.js concurrent=10 len=16777216 encoding='utf-8' duration=5                                               -0.23 %       ±0.26%  ±0.35%  ±0.45%
06:16:05 fs/readfile-permission-enabled.js concurrent=1 len=1024 encoding='' duration=5                                            *     -1.69 %       ±1.43%  ±1.90%  ±2.47%
06:16:05 fs/readfile-permission-enabled.js concurrent=1 len=1024 encoding='utf-8' duration=5                                              1.11 %       ±1.54%  ±2.05%  ±2.67%
06:16:05 fs/readfile-permission-enabled.js concurrent=1 len=16777216 encoding='' duration=5                                              34.75 %      ±36.94% ±49.36% ±64.68%
06:16:05 fs/readfile-permission-enabled.js concurrent=1 len=16777216 encoding='utf-8' duration=5                                         -0.32 %       ±0.76%  ±1.01%  ±1.32%
06:16:05 fs/readfile-permission-enabled.js concurrent=10 len=1024 encoding='' duration=5                                         ***     -1.37 %       ±0.73%  ±0.97%  ±1.26%
06:16:05 fs/readfile-permission-enabled.js concurrent=10 len=1024 encoding='utf-8' duration=5                                     **     -1.01 %       ±0.69%  ±0.92%  ±1.20%
06:16:05 fs/readfile-permission-enabled.js concurrent=10 len=16777216 encoding='' duration=5                                             -0.33 %       ±2.04%  ±2.71%  ±3.53%
06:16:05 fs/readfile-permission-enabled.js concurrent=10 len=16777216 encoding='utf-8' duration=5                                        -0.30 %       ±0.39%  ±0.52%  ±0.68%
06:16:05 fs/readfile-promises.js concurrent=1 len=1024 encoding='' duration=5                                                             0.04 %       ±0.58%  ±0.77%  ±1.01%
06:16:05 fs/readfile-promises.js concurrent=1 len=1024 encoding='utf-8' duration=5                                                       -0.08 %       ±0.57%  ±0.75%  ±0.98%
06:16:05 fs/readfile-promises.js concurrent=1 len=16777216 encoding='' duration=5                                                       -12.10 %      ±22.34% ±29.72% ±38.68%
06:16:05 fs/readfile-promises.js concurrent=1 len=16777216 encoding='utf-8' duration=5                                                    0.26 %       ±0.26%  ±0.34%  ±0.45%
06:16:05 fs/readfile-promises.js concurrent=1 len=33554432 encoding='' duration=5                                                        -0.14 %       ±0.33%  ±0.44%  ±0.57%
06:16:05 fs/readfile-promises.js concurrent=1 len=33554432 encoding='utf-8' duration=5                                                    0.15 %       ±0.28%  ±0.37%  ±0.48%
06:16:05 fs/readfile-promises.js concurrent=1 len=4194304 encoding='' duration=5                                                         28.94 %      ±36.95% ±49.22% ±64.17%
06:16:05 fs/readfile-promises.js concurrent=1 len=4194304 encoding='utf-8' duration=5                                                    -0.33 %       ±0.51%  ±0.68%  ±0.90%
06:16:05 fs/readfile-promises.js concurrent=1 len=524288 encoding='' duration=5                                                           1.46 %       ±5.82%  ±7.75% ±10.09%
06:16:05 fs/readfile-promises.js concurrent=1 len=524288 encoding='utf-8' duration=5                                                     -0.31 %       ±0.39%  ±0.51%  ±0.67%
06:16:05 fs/readfile-promises.js concurrent=1 len=8388608 encoding='' duration=5                                                        -17.26 %      ±24.75% ±32.97% ±43.01%
06:16:05 fs/readfile-promises.js concurrent=1 len=8388608 encoding='utf-8' duration=5                                                     0.10 %       ±0.18%  ±0.24%  ±0.31%
06:16:05 fs/readfile-promises.js concurrent=10 len=1024 encoding='' duration=5                                                            0.34 %       ±1.98%  ±2.64%  ±3.44%
06:16:05 fs/readfile-promises.js concurrent=10 len=1024 encoding='utf-8' duration=5                                                      -1.29 %       ±2.06%  ±2.74%  ±3.58%
06:16:05 fs/readfile-promises.js concurrent=10 len=16777216 encoding='' duration=5                                                       -0.02 %       ±1.07%  ±1.42%  ±1.85%
06:16:05 fs/readfile-promises.js concurrent=10 len=16777216 encoding='utf-8' duration=5                                                  -0.03 %       ±0.30%  ±0.40%  ±0.53%
06:16:05 fs/readfile-promises.js concurrent=10 len=33554432 encoding='' duration=5                                                        0.60 %       ±1.45%  ±1.93%  ±2.52%
06:16:05 fs/readfile-promises.js concurrent=10 len=33554432 encoding='utf-8' duration=5                                                   0.02 %       ±0.19%  ±0.26%  ±0.34%
06:16:05 fs/readfile-promises.js concurrent=10 len=4194304 encoding='' duration=5                                                        -0.88 %       ±2.19%  ±2.92%  ±3.81%
06:16:05 fs/readfile-promises.js concurrent=10 len=4194304 encoding='utf-8' duration=5                                                    0.02 %       ±0.43%  ±0.58%  ±0.75%
06:16:05 fs/readfile-promises.js concurrent=10 len=524288 encoding='' duration=5                                                          0.30 %       ±5.54%  ±7.37%  ±9.59%
06:16:05 fs/readfile-promises.js concurrent=10 len=524288 encoding='utf-8' duration=5                                                     0.00 %       ±0.45%  ±0.60%  ±0.78%
06:16:05 fs/readfile-promises.js concurrent=10 len=8388608 encoding='' duration=5                                                         0.79 %       ±1.06%  ±1.41%  ±1.84%
06:16:05 fs/readfile-promises.js concurrent=10 len=8388608 encoding='utf-8' duration=5                                                    0.20 %       ±0.27%  ±0.36%  ±0.47%
06:16:05 fs/readfile.js concurrent=1 len=1024 encoding='' duration=5                                                                      0.09 %       ±1.46%  ±1.94%  ±2.52%
06:16:05 fs/readfile.js concurrent=1 len=1024 encoding='utf-8' duration=5                                                                 0.04 %       ±1.75%  ±2.33%  ±3.03%
06:16:05 fs/readfile.js concurrent=1 len=16777216 encoding='' duration=5                                                                  8.48 %      ±30.41% ±40.47% ±52.68%
06:16:05 fs/readfile.js concurrent=1 len=16777216 encoding='utf-8' duration=5                                                      *     -0.41 %       ±0.36%  ±0.48%  ±0.63%
06:16:05 fs/readfile.js concurrent=10 len=1024 encoding='' duration=5                                                             **     -0.91 %       ±0.64%  ±0.85%  ±1.10%
06:16:05 fs/readfile.js concurrent=10 len=1024 encoding='utf-8' duration=5                                                               -0.64 %       ±0.76%  ±1.01%  ±1.32%
06:16:05 fs/readfile.js concurrent=10 len=16777216 encoding='' duration=5                                                                -0.12 %       ±2.09%  ±2.79%  ±3.63%
06:16:05 fs/readfile.js concurrent=10 len=16777216 encoding='utf-8' duration=5                                                           -0.23 %       ±0.40%  ±0.53%  ±0.69%
06:16:05 fs/readFileSync.js n=10000 hasFileDescriptor='false' path='existing' encoding='undefined'                                        0.37 %       ±1.39%  ±1.85%  ±2.42%
06:16:05 fs/readFileSync.js n=10000 hasFileDescriptor='false' path='existing' encoding='utf8'                                            -0.35 %       ±1.97%  ±2.62%  ±3.41%
06:16:05 fs/readFileSync.js n=10000 hasFileDescriptor='false' path='non-existing' encoding='undefined'                                   -1.29 %       ±1.52%  ±2.02%  ±2.63%
06:16:05 fs/readFileSync.js n=10000 hasFileDescriptor='false' path='non-existing' encoding='utf8'                                         0.77 %       ±1.53%  ±2.03%  ±2.65%
06:16:05 fs/readFileSync.js n=10000 hasFileDescriptor='true' path='existing' encoding='undefined'                                         2.91 %       ±3.46%  ±4.60%  ±5.99%
06:16:05 fs/readFileSync.js n=10000 hasFileDescriptor='true' path='existing' encoding='utf8'                                     ***      8.70 %       ±2.77%  ±3.69%  ±4.80%
06:16:05 fs/readFileSync.js n=10000 hasFileDescriptor='true' path='non-existing' encoding='undefined'                                    -1.85 %       ±2.30%  ±3.07%  ±4.00%
06:16:05 fs/readFileSync.js n=10000 hasFileDescriptor='true' path='non-existing' encoding='utf8'                                         -0.24 %       ±1.38%  ±1.84%  ±2.39%
06:16:05 fs/write-stream-throughput.js size=1024 encodingType='asc' dur=5                                                          *     12.72 %      ±10.51% ±14.00% ±18.24%
06:16:05 fs/write-stream-throughput.js size=1024 encodingType='buf' dur=5                                                          *     11.91 %      ±10.20% ±13.57% ±17.66%
06:16:05 fs/write-stream-throughput.js size=1024 encodingType='utf' dur=5                                                        ***      4.58 %       ±0.58%  ±0.77%  ±1.01%
06:16:05 fs/write-stream-throughput.js size=1048576 encodingType='asc' dur=5                                                             -2.23 %      ±14.99% ±19.98% ±26.05%
06:16:05 fs/write-stream-throughput.js size=1048576 encodingType='buf' dur=5                                                             14.58 %      ±20.95% ±27.88% ±36.29%
06:16:05 fs/write-stream-throughput.js size=1048576 encodingType='utf' dur=5                                                             -0.18 %       ±0.70%  ±0.93%  ±1.21%
06:16:05 fs/write-stream-throughput.js size=2 encodingType='asc' dur=5                                                           ***      1.55 %       ±0.66%  ±0.88%  ±1.15%
06:16:05 fs/write-stream-throughput.js size=2 encodingType='buf' dur=5                                                           ***      1.41 %       ±0.31%  ±0.42%  ±0.54%
06:16:05 fs/write-stream-throughput.js size=2 encodingType='utf' dur=5                                                             *     -0.84 %       ±0.63%  ±0.84%  ±1.10%
06:16:05 fs/write-stream-throughput.js size=65535 encodingType='asc' dur=5                                                               -0.22 %       ±7.24%  ±9.63% ±12.55%
06:16:05 fs/write-stream-throughput.js size=65535 encodingType='buf' dur=5                                                               -4.28 %       ±4.31%  ±5.75%  ±7.53%
06:16:05 fs/write-stream-throughput.js size=65535 encodingType='utf' dur=5                                                         *      1.07 %       ±0.85%  ±1.13%  ±1.47%
06:16:05 fs/writefile-promises.js concurrent=1 size=1024 encodingType='asc' duration=5                                                   -0.30 %       ±1.03%  ±1.37%  ±1.78%
06:16:05 fs/writefile-promises.js concurrent=1 size=1024 encodingType='buf' duration=5                                                    0.76 %       ±1.49%  ±1.98%  ±2.58%
06:16:05 fs/writefile-promises.js concurrent=1 size=1024 encodingType='utf' duration=5                                            **      1.55 %       ±1.02%  ±1.36%  ±1.77%
06:16:05 fs/writefile-promises.js concurrent=1 size=1048576 encodingType='asc' duration=5                                                 1.26 %      ±33.68% ±44.82% ±58.37%
06:16:05 fs/writefile-promises.js concurrent=1 size=1048576 encodingType='buf' duration=5                                               -17.75 %      ±17.99% ±23.94% ±31.17%
06:16:05 fs/writefile-promises.js concurrent=1 size=1048576 encodingType='utf' duration=5                                                -0.18 %       ±1.57%  ±2.09%  ±2.74%
06:16:05 fs/writefile-promises.js concurrent=1 size=2 encodingType='asc' duration=5                                                       0.76 %       ±1.39%  ±1.85%  ±2.40%
06:16:05 fs/writefile-promises.js concurrent=1 size=2 encodingType='buf' duration=5                                                      -0.29 %       ±1.47%  ±1.95%  ±2.54%
06:16:05 fs/writefile-promises.js concurrent=1 size=2 encodingType='utf' duration=5                                                      -0.32 %       ±1.20%  ±1.60%  ±2.08%
06:16:05 fs/writefile-promises.js concurrent=1 size=65535 encodingType='asc' duration=5                                                  -0.74 %      ±18.20% ±24.23% ±31.55%
06:16:05 fs/writefile-promises.js concurrent=1 size=65535 encodingType='buf' duration=5                                                  13.75 %      ±15.83% ±21.11% ±27.56%
06:16:05 fs/writefile-promises.js concurrent=1 size=65535 encodingType='utf' duration=5                                                   0.09 %       ±1.41%  ±1.87%  ±2.44%
06:16:05 fs/writefile-promises.js concurrent=10 size=1024 encodingType='asc' duration=5                                                   0.37 %       ±1.06%  ±1.41%  ±1.84%
06:16:05 fs/writefile-promises.js concurrent=10 size=1024 encodingType='buf' duration=5                                                  -0.57 %       ±1.51%  ±2.01%  ±2.62%
06:16:05 fs/writefile-promises.js concurrent=10 size=1024 encodingType='utf' duration=5                                                   0.99 %       ±1.26%  ±1.68%  ±2.19%
06:16:05 fs/writefile-promises.js concurrent=10 size=1048576 encodingType='asc' duration=5                                               -0.61 %       ±1.87%  ±2.49%  ±3.25%
06:16:05 fs/writefile-promises.js concurrent=10 size=1048576 encodingType='buf' duration=5                                                1.08 %       ±2.48%  ±3.30%  ±4.30%
06:16:05 fs/writefile-promises.js concurrent=10 size=1048576 encodingType='utf' duration=5                                               -0.81 %       ±1.65%  ±2.20%  ±2.86%
06:16:05 fs/writefile-promises.js concurrent=10 size=2 encodingType='asc' duration=5                                                      0.36 %       ±1.12%  ±1.49%  ±1.94%
06:16:05 fs/writefile-promises.js concurrent=10 size=2 encodingType='buf' duration=5                                                      0.51 %       ±1.04%  ±1.38%  ±1.80%
06:16:05 fs/writefile-promises.js concurrent=10 size=2 encodingType='utf' duration=5                                                      0.46 %       ±1.52%  ±2.02%  ±2.64%
06:16:05 fs/writefile-promises.js concurrent=10 size=65535 encodingType='asc' duration=5                                                 -0.56 %       ±1.39%  ±1.85%  ±2.41%
06:16:05 fs/writefile-promises.js concurrent=10 size=65535 encodingType='buf' duration=5                                                 -1.47 %       ±1.63%  ±2.18%  ±2.86%
06:16:05 fs/writefile-promises.js concurrent=10 size=65535 encodingType='utf' duration=5                                                  0.39 %       ±1.55%  ±2.07%  ±2.69%
06:16:05 
06:16:05 Be aware that when doing many comparisons the risk of a false-positive
06:16:05 result increases. In this case, there are 215 comparisons, you can thus
06:16:05 expect the following amount of false-positive results:
06:16:05   10.75 false positives, when considering a   5% risk acceptance (*, **, ***),
06:16:05   2.15 false positives, when considering a   1% risk acceptance (**, ***),
06:16:05   0.21 false positives, when considering a 0.1% risk acceptance (***)
06:16:05 ++ mv output280624-024304.csv /w/bnch-comp
06:16:06 Collecting metadata...
06:16:06 Metadata collection done.
06:16:06 Notifying upstream projects of job completion
06:16:06 Finished: SUCCESS
All reactions

Sorry, something went wrong.

Uh oh!

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

jasnell
jasnell reviewed Jun 30, 2024
View reviewed changes
Comment thread test/parallel/test-fs-rm.js Resolved

Uh oh!

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

jasnell
jasnell approved these changes Jun 30, 2024
View reviewed changes
@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 Jul 3, 2024
@github-actions

github-actions Bot commented Jul 3, 2024

Copy link
Copy Markdown
Contributor
Failed to start CI
   ⚠  Something was pushed to the Pull Request branch since the last approving review.
   ✘  Refusing to run CI on potentially unsafe PR
https://github.com/nodejs/node/actions/runs/9784060111
All reactions

Sorry, something went wrong.

Uh oh!

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

@github-actions github-actions Bot added the request-ci-failed Starting CI with the request-ci label failed and requires manual intervention. label Jul 3, 2024
@anonrig
anonrig requested review from jasnell and lemire July 3, 2024 21:33
jasnell
jasnell approved these changes Jul 4, 2024
View reviewed changes
@anonrig anonrig added request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. and removed request-ci-failed Starting CI with the request-ci label failed and requires manual intervention. labels Jul 4, 2024
@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 Jul 4, 2024
@aduh95

aduh95 commented Jul 21, 2024

Copy link
Copy Markdown
Contributor

Marking it as dont-land because of #53962 (comment)

All reactions

Sorry, something went wrong.

Uh oh!

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

@aduh95 aduh95 added dont-land-on-v18.x dont-land-on-v22.x PRs that should not land on the v22.x-staging branch and should not be released in v22.x. labels Jul 21, 2024
@anonrig

anonrig commented Jul 21, 2024

Copy link
Copy Markdown
Member Author

@richardlau @aduh95 any idea why the tests are flaky?

All reactions

Sorry, something went wrong.

Uh oh!

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

@aduh95

aduh95 commented Jul 21, 2024

Copy link
Copy Markdown
Contributor

@anonrig the flakiness of the test (and its root cause) is beside the point, the fact that it break something is our CI means it likely going to break our users and therefore should not land on release lines. In an ideal world, when the CI reports the same test failing 6 times in the same PR but is passing in others, that PR would not land until the flakiness is addressed.

All reactions

Sorry, something went wrong.

Uh oh!

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

@anonrig

anonrig commented Jul 21, 2024

Copy link
Copy Markdown
Member Author

@anonrig the flakiness of the test (and its root cause) is beside the point, the fact that it break something is our CI means it likely going to break our users and therefore should not land on release lines. In an ideal world, when the CI reports the same test failing 6 times in the same PR but is passing in others, that PR would not land until the flakiness is addressed.

Yes, I agree. I'm trying to understand how this change caused this regression.

All reactions

Sorry, something went wrong.

Uh oh!

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

@richardlau richardlau mentioned this pull request Jul 24, 2024
sqlite: split up large test file #54014
Closed
@cjihrig cjihrig mentioned this pull request Jul 25, 2024
test_runner: remove redundant bootstrap boolean #54013
Merged
@targos

targos commented Jul 28, 2024

Copy link
Copy Markdown
Member

Is this safe to land on v22.x with cf2bce6 ?

All reactions

Sorry, something went wrong.

Uh oh!

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

This was referenced Jul 30, 2024
fs: fix regression on rmsync #53982
Merged
src: do not save c_str of a temp string #53941
Merged
@cjihrig cjihrig mentioned this pull request Aug 2, 2024
test_runner: run after hooks even if test is aborted #54151
Merged
@aduh95 aduh95 mentioned this pull request Oct 14, 2024
2024-10-16, Version 23.0.0 (Current) #55338
Merged
@joyeecheung joyeecheung mentioned this pull request Nov 29, 2024
fs.rmSync('速') crash without throw #56049
Closed
@claude claude Bot mentioned this pull request Jul 8, 2026
fix: clear read-only attribute before removal in RmSync on Windows electron/electron#52291
Closed
3 of 6 tasks
@nmggithub nmggithub mentioned this pull request Jul 8, 2026
fs.rmSync cannot remove read-only files on Windows when Node is built with libc++ #64374
Closed
@hobbes7878 hobbes7878 mentioned this pull request Jul 28, 2026
fix: support Node 24 by testing against real temp projects reuters-graphics/graphics-kit-publisher#163
Merged
@Micka420-collab Micka420-collab mentioned this pull request Sep 28, 2026
fix(node): task folders erase under the desktop app on Windows; refusals say their real cause Micka420-collab/hive#538
Open
@tchopoorian tchopoorian mentioned this pull request Sep 28, 2026
test(update): remove the data symlink with unlinkSync, not rmSync nanocoai/nanoclaw#3963
Merged
6 of 13 tasks
Micka420-collab pushed a commit to Micka420-collab/hive that referenced this pull request Oct 3, 2026
@claude
fix(node): erase task folders with fs.promises.rm; refusals carry the…
51101cb
…ir real cause

Root cause of the 0.5.0 Windows loop: fs.rmSync is C++ over
std::filesystem::remove_all since nodejs/node#53617, and Electron's libc++
build refuses read-only files (nodejs/node#64374) — git's objects — so a
task folder that had seen a clone could never be erased again inside the
desktop app. Every attempt died in prepareWorkspace with "clone
impossible : EPERM", was requeued as an infra refusal, and the bounded
failure that did conclude blamed "no working agent".

- workspace.ts: one effacerDossier (async fs.promises.rm — Node's JS
  rimraf over libuv, which clears the read-only attribute on Windows and
  retries without blocking the node's event loop). prepareWorkspace and
  cleanup (now async) use it; a folder that still resists refuses the
  task with DossierDeTacheIneffacable, naming the held file instead of a
  clone that never ran.
- client.ts: cleanup runs after the result without holding the slot; the
  next attempt of the same task awaits it (effacements). Merge and
  chantier clones and merge-runner's patch/transit dirs take the same
  path. Infra refusals quote the agent's own failing line (ligneDInfra,
  redacted), so "agent indisponible" finally says why.
- cockpit.ts + AlertesRuche.tsx: a refusal alert carries avantAgent; a
  task failed on pre-agent refusals reads "no node could prepare it —
  clear that cause on the machine", not "fix the agent".

Co-Authored-By: Claude Fable 5 <[email protected]>
@llevintza llevintza mentioned this pull request Oct 8, 2026
[workflows] gate-tests: robust temp-repo cleanup (ENOTEMPTY race) (#249) llevintza/credit-desk-analytics#263
Merged
4 of 9 tasks
@AmarWaqar-TSKLI AmarWaqar-TSKLI mentioned this pull request Oct 14, 2026
fs: normalize trailing dot segments for rm #65883
Closed
@jarinudom jarinudom mentioned this pull request Oct 16, 2026
fix(voiceover): replace dangling portable preference symlinks guidepup/guidepup#180
Merged
1 task done
@arieller arieller mentioned this pull request Oct 26, 2026
fs: rmSync with recursive returns without throwing while the directory still exists #67010
Open
arieller added a commit to arieller/node that referenced this pull request Oct 26, 2026
@arieller
fs: finish rmSync when an entry vanishes during the walk
3063dfd
std::filesystem::remove_all reports no_such_file_or_directory both for
a missing target and for an entry another process removed while the
tree was being walked, and stops at that entry. RmSync returned on
either, so a directory could survive its own rmSync without an error.

Probe the target once on that error. A target that is gone is done. A
target that is still there means the walk stopped early: walk the rest
once more, and treat a second stop as ENOTEMPTY, which maxRetries
already covers.

Fixes: nodejs#67010
Refs: nodejs#53617
Signed-off-by: Ariel R <[email protected]>
ijun17 added a commit to ijun17/centralu that referenced this pull request Oct 28, 2026
@ijun17
fix(host): state that rmSync is native from Node 23 in the OS contract (
9ba0bbc
#1599)

On Windows the contract expected EBUSY from rmSync of a running process's
working folder. Node 23 and later remove with C++ std::filesystem
(nodejs/node#53617) and answer EPERM; Node 22 answers EBUSY. rmSyncImplementation
in os/rules.ts names the rule; the in-memory OS and the contract follow it.
This was referenced Oct 28, 2026
feat(host): an Os interface with real and in-memory OSes ijun17/centralu#1650
Merged
Run the OS contract under the remote Node before a change lands, not only in the merge queue's full tier ijun17/centralu#1709
Open
@yohannesjoya yohannesjoya mentioned this pull request Nov 1, 2026
fs: rmSync() deletes a symlinked directory's contents then throws ENOTDIR when the path has a trailing slash #67186
Open
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
@addaleax addaleax Awaiting requested review from addaleax
@tniessen tniessen Awaiting requested review from tniessen
@lemire lemire Awaiting requested review from lemire
@mcollina mcollina Awaiting requested review from mcollina
@joyeecheung joyeecheung Awaiting requested review from joyeecheung
@jasnell jasnell Awaiting requested review from jasnell

Uh oh!

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

Assignees

No one assigned

Labels

author ready PRs with CI started, the required approvals, and no outstanding review comments. c++ Issues and PRs that require attention from people who are familiar with C++. dont-land-on-v22.x PRs that should not land on the v22.x-staging branch and should not be released in v22.x. lib / src Issues and PRs involving general changes in the lib/ or src/ directories. needs-ci PRs that need a full CI run.

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.

7 participants

@anonrig @nodejs-github-bot @benjamingr @aduh95 @targos @lemire @jasnell
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.