| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Improve performance by providing JS with the raw ingridients for the read data, i.e. an `ArrayBuffer` + offset + length fields, instead of creating `Buffer` instances in C++ land.
|
@addaleax build started: https://ci.nodejs.org/blue/organizations/jenkins/node-test-pull-request-lite-pipeline/detail/node-test-pull-request-lite-pipeline/1324/pipeline |
Sorry, something went wrong.
Sorry, something went wrong.
There was a problem hiding this comment.
Are there benchmark results available?
Sorry, something went wrong.
|
|
||
| #ifdef DEBUG | ||
| CHECK_EQ(static_cast<int32_t>(nread), nread); | ||
| CHECK_EQ(static_cast<int32_t>(offset), offset); |
There was a problem hiding this comment.
Maybe also assert that offset is 0 and nread is less than 0 if ab is empty?
Sorry, something went wrong.
There was a problem hiding this comment.
IIUC this will also allow us to remove
// TODO(bnoordhuis) Check that nread > 0.
https://github.com/nodejs/node/pull/23797/files#diff-f45eb699237c2e38dc9b49b588933c11R497.
in channel.onread
Edit: that is if we add a reverse check of ab non-empty -> nread > 0
Sorry, something went wrong.
There was a problem hiding this comment.
I’m not sure we can guarantee nread > 0, but nread >= 0 should make sense.
Sorry, something went wrong.
|
New benchmark CI: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/249/ |
Sorry, something went wrong.
|
It looks like benchmark/net/tcp-raw-c2s.js needs to be fixed. |
Sorry, something went wrong.
Done! With more iterations this time: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/250/ (edit: aborted, took too long. sorry… the other benchmarks results are pretty good, though.)
|
Sorry, something went wrong.
|
Benchmark CI: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/251/console It looks like benchmark/net/tcp-raw-pipe.js needs to be updated (further): buffer.js:208
throw new ERR_INVALID_ARG_TYPE('value', 'not number', value);
^
TypeError [ERR_INVALID_ARG_TYPE]: The "value" argument must not be of type number. Received type number
at Function.from (buffer.js:208:11)
at TCP.clientHandle.onread (/home/iojs/build/workspace/benchmark-node-micro-benchmarks/benchmarking/experimental/benchmarks/community-benchmark/node/benchmark/net/tcp-raw-pipe.js:54:55)
|
Sorry, something went wrong.
|
@mscdex That’s happening because the modified benchmark and the previous version of it are incompatible, because they expect different function signatures… I’m going to open a PR to remove those raw benchmarks right after landing this anyway. |
Sorry, something went wrong.
|
Resume CI (sigh): https://ci.nodejs.org/job/node-test-pull-request/18097/ |
Sorry, something went wrong.
Improve performance by providing JS with the raw ingridients for the read data, i.e. an `ArrayBuffer` + offset + length fields, instead of creating `Buffer` instances in C++ land. PR-URL: #23797 Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Improve performance by providing JS with the raw ingridients for the read data, i.e. an `ArrayBuffer` + offset + length fields, instead of creating `Buffer` instances in C++ land. PR-URL: #23797 Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
|
Hello! Could you tell us what the actual is changing? Is it only the signature of those files and nothing else? |
Sorry, something went wrong.
|
@p3x-robot I’ve commented on the linked issue, hope that’s helpful |
Sorry, something went wrong.
|
found it, thanks very much! |
Sorry, something went wrong.
|
Should this be backported to v8.x-staging or v10.x-staging? If yes please follow the guide and raise a backport PR, if not let me know or add the dont-land-on label. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Improve performance by providing JS with the raw ingredients
for the read data, i.e. an ArrayBuffer + offset + length
fields, instead of creating Buffer instances in C++ land.
Checklist