fs: remove custom Buffer pool for streams#33981
Conversation
cf19ba7 to
b58a7bb
Compare
|
Needs a CI and benchmark CI... However, at the moment I'm unable to start either for some reason. Will try again tomorrow. |
bnoordhuis
left a comment
There was a problem hiding this comment.
Can you also update the comment on line 134 in test-crypto-authenticated-stream.js?
The performance benefit of using a custom pool are negligable. Furthermore, it causes problems with Workers and transferrable. Rather than further adding complexity for compat with Workers, just remove the pooling logic. Refs: nodejs#33880 (comment) Fixes: nodejs#31733
|
Needs a CI and benchmark CI |
|
Slower with a low highwatermark < 4k, which is expected and I think that's acceptable as I don't see that being a common case at all. 19:58:22 fs/read-stream-throughput.js n=1024 highWaterMark=1024 filesize=1024000 encodingType='asc' *** -11.00 % ±3.01% ±4.01% ±5.22%
19:58:22 fs/read-stream-throughput.js n=1024 highWaterMark=1024 filesize=1024000 encodingType='buf' *** -10.15 % ±3.46% ±4.61% ±6.01%
19:58:22 fs/read-stream-throughput.js n=1024 highWaterMark=1024 filesize=1024000 encodingType='utf' *** -6.08 % ±2.53% ±3.37% ±4.40%
19:58:22 fs/read-stream-throughput.js n=1024 highWaterMark=1048576 filesize=1024000 encodingType='asc' 1.28 % ±4.14% ±5.52% ±7.20%
19:58:22 fs/read-stream-throughput.js n=1024 highWaterMark=1048576 filesize=1024000 encodingType='buf' * 14.52 % ±13.09% ±17.42% ±22.67%
19:58:22 fs/read-stream-throughput.js n=1024 highWaterMark=1048576 filesize=1024000 encodingType='utf' 17.52 % ±20.33% ±27.07% ±35.28%
19:58:22 fs/read-stream-throughput.js n=1024 highWaterMark=4096 filesize=1024000 encodingType='asc' -0.39 % ±2.94% ±3.91% ±5.10%
19:58:22 fs/read-stream-throughput.js n=1024 highWaterMark=4096 filesize=1024000 encodingType='buf' * -4.47 % ±3.36% ±4.47% ±5.83%
19:58:22 fs/read-stream-throughput.js n=1024 highWaterMark=4096 filesize=1024000 encodingType='utf' -1.49 % ±2.29% ±3.05% ±3.97%
19:58:22 fs/read-stream-throughput.js n=1024 highWaterMark=65535 filesize=1024000 encodingType='asc' -1.46 % ±8.08% ±10.75% ±13.99%
19:58:22 fs/read-stream-throughput.js n=1024 highWaterMark=65535 filesize=1024000 encodingType='buf' -0.84 % ±7.46% ±9.94% ±12.96%
19:58:22 fs/read-stream-throughput.js n=1024 highWaterMark=65535 filesize=1024000 encodingType='utf' -0.54 % ±6.16% ±8.19% |
|
@nodejs/crypto: Got problems with two crypto failures https://ci.nodejs.org/job/node-test-commit-linux-containered/20895/ Any ideas? |
|
@ronag I've opened nodejs/build#2363 for the setAAD issue. Didn't the crypto check fix the other test failure? |
Doesn't seem so. Which confuses me. I'll try another CI. |
|
@bnoordhuis: Still failing... Do I need to do anything further than ca1d829? |
|
Landed in db0e991 |
The performance benefit of using a custom pool are negligable. Furthermore, it causes problems with Workers and transferrable. Rather than further adding complexity for compat with Workers, just remove the pooling logic. Refs: #33880 (comment) Fixes: #31733 PR-URL: #33981 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
|
@ronag could you please backport this to v14.x? It conflicted in a handful of places and I didn't want to try my luck 😅 |
The performance benefit of using a custom pool are negligable. Furthermore, it causes problems with Workers and transferrable. Rather than further adding complexity for compat with Workers, just remove the pooling logic. Refs: nodejs#33880 (comment) Fixes: nodejs#31733 PR-URL: nodejs#33981 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
The performance benefit of using a custom pool are negligable. Furthermore, it causes problems with Workers and transferrable. Rather than further adding complexity for compat with Workers, just remove the pooling logic. Refs: #33880 (comment) Fixes: #31733 PR-URL: #33981 Backport-PR-URL: #38397 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
The `test-crypto-authenticated-stream` test was moved out of `test/known_issues` and now lives in `test/parallel` PR-URL: #47454 Refs: #33981 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
The `test-crypto-authenticated-stream` test was moved out of `test/known_issues` and now lives in `test/parallel` PR-URL: #47454 Refs: #33981 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
The `test-crypto-authenticated-stream` test was moved out of `test/known_issues` and now lives in `test/parallel` PR-URL: #47454 Refs: #33981 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
The `test-crypto-authenticated-stream` test was moved out of `test/known_issues` and now lives in `test/parallel` PR-URL: nodejs#47454 Refs: nodejs#33981 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
Refs: #33880 (comment)
Fixes: #31733
Checklist
make -j4 test(UNIX), orvcbuild test(Windows) passes