profile
viewpoint

chjj/blessed 9002

A high-level terminal interface library for node.js.

mscdex/busboy 1794

A streaming parser for HTML form data for node.js

mscdex/cap 281

A cross-platform binding for performing packet capturing with node.js

mscdex/httpolyglot 150

Serve http and https connections over the same port with node.js

mscdex/dicer 142

A very fast streaming multipart parser for node.js

mscdex/connect-busboy 137

Connect middleware for busboy

mscdex/bellhop 28

A node.js module that exposes streams for doing Pubsub and RPC.

mscdex/base91.js 25

basE91 encoding/decoding for node.js and browsers

mscdex/groan 22

A PHP session file parser written in JavaScript

mscdex/grappler 19

A minimalistic server for "comet" connections in Node.js.

PR opened nodejs/node

benchmark: remove problematic tls params

These very small values can cause crashes/exceptions to occur on some systems because most time is spent in V8 GC or in parts of node core that are not being tested (e.g. streams).

Specifically, I was seeing size=1/size=2 for tls/secure-pair.js causing bench.end(0) occasionally (although it seems to have only started recently, but that could have been chance?).

While looking into that I also found that similarly small size values can cause crashing due to GC-related issues for tls/throughput.js.

I've also adjusted the tls benchmark test to use parameters that are faster.

Checklist

<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

  • [x] make -j4 test (UNIX), or vcbuild test (Windows) passes
  • [x] commit message follows commit guidelines

<!-- Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. -->

+4 -4

0 comment

3 changed files

pr created time in 3 days

create barnchmscdex/io.js

branch : benchmark-tls-remove-slow-param

created branch time in 3 days

issue commentnodejs/node

Clear the internal require `statCache` on an unsuccessful module load?

Rather than clearing the cache on failure (which means no longer caching failed lookups which makes repeated failed lookups very expensive), why not clear the cache on invocation of a process, fs, or child_process API

-1 That's way too magical

benjamingr

comment created time in 4 days

issue commentnodejs/node

Clear the internal require `statCache` on an unsuccessful module load?

Perhaps there should be an explicit API to do this instead of always doing it, so that you opt-in to any potential performance issues.

benjamingr

comment created time in 4 days

Pull request review commentnodejs/node

doc: add zlib maintenance doc

+# Maintaining zlib++This copy of zlib comes from the Chromium team's zlib fork which incorporated+performance improvements not currently available in standard zlib.++## Updating zlib++Update zlib:+```shell+git clone https://chromium.googlesource.com/chromium/src/third_party/zlib+cp deps/zlib/zlib.gyp deps/zlib/win32/zlib.def deps+rm -rf deps/zlib zlib/.git+mv zlib deps/+mv deps/zlib.gyp deps/zlib/+mkdir deps/zlib/win32+mv deps/zlib.def deps/zlib/win32+sed -i -- 's_^#include "chromeconf.h"_//#include "chromeconf.h"_' deps/zlib/zconf.h+```++Check that Node.js still builds and tests.++It may be necessary to update deps/zlib/zlib.gyp if any signficant changes have
It may be necessary to update deps/zlib/zlib.gyp if any significant changes have
sam-github

comment created time in 4 days

Pull request review commentnodejs/node

doc: add zlib maintenance doc

+# Maintaining zlib++This copy of zlib comes from the Chromium team's zlib fork which incorporated+performance improvements not currently available in standard zlib.++## Updating zlib++Update zlib:+```shell+git clone https://chromium.googlesource.com/chromium/src/third_party/zlib+cp deps/zlib/zlib.gyp deps/zlib/win32/zlib.def deps+rm -rf deps/zlib zlib/.git+mv zlib deps/+mv deps/zlib.gyp deps/zlib/+mkdir deps/zlib/win32+mv deps/zlib.def deps/zlib/win32+sed -i -- 's_^#include "chromeconf.h"_//#include "chromeconf.h"_' deps/zlib/zconf.h+```++Check that Node.js still builds and tests.++It may be necessary to update deps/zlib/zlib.gyp if any signficant changes have+ocurred upstream.
occurred upstream.
sam-github

comment created time in 4 days

issue commentAndreasMadsen/ttest

Feature Request: "BigNum/BigDecimal" interface

I was mostly concerned about the mean calculations since adding up a number of large values could exceed Number.MAX_SAFE_INTEGER. It would probably be enough to convert the final BigNum/BigDecimal mean value to Number though for compatibility with cephes and other libraries.

mscdex

comment created time in 4 days

pull request commentnodejs/node

[WIP] events: non-enumerable 'Symbol(kCapture)'

IMO we shouldn't need to make any changes for the linked issue as I see util.inspect() output as being something for human consumption. Anyone relying on its output for the purposes of automated tests and such should look for better alternatives (and the issue submitter even admits this).

Himself65

comment created time in 4 days

pull request commentnodejs/node

benchmark: remove deprecated tls.createSecurePair

tls.createSecurePair() is deprecated and it doesn't seem to be useful to benchmark against something that is going to be removed (which could also mean the code won't be changed anyway so no change in performance with itself would be expected). Additionally it reduces the amount of time taken to run the tls benchmarks.

mscdex

comment created time in 4 days

issue commentmscdex/cap

Loop starvation

I'm open to a PR to remedy the potential issue.

mildsunrise

comment created time in 4 days

issue commentmscdex/cap

Loop starvation

This project is not a fork of any other existing project.

mildsunrise

comment created time in 4 days

PR opened nodejs/node

benchmark: remove deprecated tls.createSecurePair
Checklist

<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

  • [x] make -j4 test (UNIX), or vcbuild test (Windows) passes
  • [x] commit message follows commit guidelines

<!-- Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. -->

+2 -16

0 comment

2 changed files

pr created time in 5 days

create barnchmscdex/io.js

branch : benchmark-tls-remove-deprecated-method

created branch time in 5 days

Pull request review commentnodejs/node

src: create a getter for kernel version

+const os = require('os')

This file should be removed.

juanarbol

comment created time in 5 days

pull request commentnodejs/node

stream: fix sync callback leak

Also this solution incurs some significant performance regressions:

                                                                                confidence improvement accuracy (*)   (**)  (***)
streams/writable-manywrites.js callback='no' writev='no' sync='no' n=2000000           ***    -28.95 %       ±1.50% ±1.99% ±2.59%
streams/writable-manywrites.js callback='no' writev='no' sync='yes' n=2000000          ***    -30.11 %       ±3.86% ±5.18% ±6.82%
streams/writable-manywrites.js callback='no' writev='yes' sync='no' n=2000000          ***    -16.49 %       ±3.07% ±4.10% ±5.39%
streams/writable-manywrites.js callback='no' writev='yes' sync='yes' n=2000000         ***    -31.43 %       ±2.28% ±3.04% ±3.99%
streams/writable-manywrites.js callback='yes' writev='no' sync='no' n=2000000          ***    -28.67 %       ±1.74% ±2.31% ±3.01%
streams/writable-manywrites.js callback='yes' writev='no' sync='yes' n=2000000         ***    -32.39 %       ±2.74% ±3.65% ±4.76%
streams/writable-manywrites.js callback='yes' writev='yes' sync='no' n=2000000         ***    -16.59 %       ±3.40% ±4.56% ±6.00%
streams/writable-manywrites.js callback='yes' writev='yes' sync='yes' n=2000000        ***    -30.27 %       ±2.81% ±3.75% ±4.92%
ronag

comment created time in 5 days

Pull request review commentnodejs/node

src: create a getter for kernel version

 const {   getInterfaceAddresses: _getInterfaceAddresses,   getLoadAvg,   getOSRelease: _getOSRelease,+  getOSVersion: _getOSVersion,   getOSType: _getOSType,   getPriority: _getPriority,   getTotalMem,   getUserInfo,   getUptime,   isBigEndian,+  getOSVersion,
juanarbol

comment created time in 6 days

issue commentnodejs/node

Noisy output from HTTP2 stack

FWIW I just tested this on Linux with node built from source and did not get any extra output like you're showing.

Judging by the nghttp2 source code, it looks like debug information is only printed to stderr when nghttp2 is built with the DEBUGBUILD macro defined or --enable-debug is passed to ./configure. This would only matter if node was built against a shared nghttp2 library though.

The only other way DEBUGBUILD could be defined is if the built-in copy of nghttp2 from node was used and --debug-nghttp2 was passed to node's ./configure.

Looking at nodejs.spec from nodejs-10.16.3-2.module_el8.0.0+186+542b25fc.src.rpm I see the following:

#%if ! 0%%{?bootstrap} %if %{with bootstrap} ./configure --prefix=%{_prefix}
--shared-openssl
--shared-zlib
--without-dtrace
--with-intl=small-icu
--debug-nghttp2
--openssl-use-def-ca-store %else ./configure --prefix=%{_prefix}
--shared-openssl
--shared-zlib
--shared-libuv
--shared-http-parser
--shared-nghttp2
--with-dtrace
--with-intl=%{icu_flag}
--debug-nghttp2
--openssl-use-def-ca-store %endif

As you can see, the --debug-nghttp2 is being passed, which is the cause of the debug output. So this issue needs to be raised with the CentOS package maintainers (or whoever maintains the "AppStream" repo).

sffc

comment created time in 6 days

Pull request review commentnodejs/node

benchmark: reland test refactoring

 if (format === 'csv') {     // Construct configuration string, " A=a, B=b, ..."     let conf = '';     for (const key of Object.keys(data.conf)) {+      if (conf !== '')+        conf += ' ';       conf += ` ${key}=${JSON.stringify(data.conf[key])}`;
      conf += `${key}=${JSON.stringify(data.conf[key])}`;
BridgeAR

comment created time in 6 days

issue closedmscdex/node-imap

gmail

I was able to connect and download an email attachment from the localhost. But could not connect when tried the same process when hosted on Heroku. I kept getting the response below

Trace: { Error: Please log in via your web browser: https://support.google.com/mail/accounts/answer/78754 (Failure)

This is my imap setting below

const imap = new Imap {
        user: imapServerSettings.username  as string,
        password: imapServerSettings.password  as string,
        host: imapServerSettings.host  as string,
        port: imapServerSettings.port as number,
        tls: imapServerSettings.tls as boolean,
}

closed time in 6 days

melitus

pull request commentnodejs/node

crypto: fixes performance regression

Aren't those differences within margin of error?

Not as far as I understand it. Perhaps @AndreasMadsen can give a more definitive answer though.

ronag

comment created time in 6 days

issue commentmscdex/node-imap

gmail

My guess is that Google sees you logging in from a different IP that it doesn't recognize so it blocks access.

However I think your question might be more suitable for (and would have more eyes on it at) a place like stackoverflow or perhaps Heroku support/forums.

melitus

comment created time in 7 days

pull request commentnodejs/node

crypto: fixes performance regression

It looks like some benchmark parameters were removed from the first Benchmark CI.

Benchmark CI: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/525/console

While it seems this mostly fixes the performance issues, I noticed there are some instances of regressions for some reason:

crypto/cipher-stream.js api='stream' len=1024 type='asc' cipher='AES192' writes=500   ***     -4.07 %       ±1.97%  ±2.65%  ±3.51%
crypto/cipher-stream.js api='stream' len=1024 type='asc' cipher='AES256' writes=500   ***     -4.79 %       ±0.64%  ±0.85%  ±1.11%
crypto/cipher-stream.js api='stream' len=2 type='asc' cipher='AES192' writes=500      ***    -10.08 %       ±3.97%  ±5.35%  ±7.10%
crypto/cipher-stream.js api='stream' len=2 type='asc' cipher='AES256' writes=500      ***     -7.19 %       ±1.04%  ±1.39%  ±1.82%
crypto/cipher-stream.js api='stream' len=2 type='buf' cipher='AES192' writes=500      ***    -10.32 %       ±5.65%  ±7.54%  ±9.86%
crypto/cipher-stream.js api='stream' len=2 type='buf' cipher='AES256' writes=500      ***    -13.26 %       ±5.99%  ±8.07% ±10.69%
crypto/cipher-stream.js api='stream' len=2 type='utf' cipher='AES192' writes=500      ***     -8.51 %       ±1.34%  ±1.80%  ±2.36%

It would be nice if we could figure out the cause of them. I've re-ran the benchmarks to verify and the results are the same.

ronag

comment created time in 7 days

issue openednodejs/node

crypto: recent large performance regressions

  • Version: master
  • Platform: linux
  • Subsystem: crypto

While working on a system that automatically and regularly runs benchmarks on master and compares the results between successive builds, I found some large crypto performance regressions (greater than 10%) between f3682102dca1d24959e93de918fbb583f19ee688 and 93c4c1a273736027439d087b0a52aa33df6a2b13 (numeric values below are the % change with "***" confidence):

'aes-gcm-throughput': {
   'cipher="aes-128-gcm" len=1024 n=500': -45.12,
   'cipher="aes-128-gcm" len=4096 n=500': -29.89,
   'cipher="aes-128-gcm" len=16384 n=500': -13.18,
   'cipher="aes-192-gcm" len=1024 n=500': -44.51,
   'cipher="aes-192-gcm" len=4096 n=500': -30.73,
   'cipher="aes-192-gcm" len=16384 n=500': -10.44,
   'cipher="aes-256-gcm" len=1024 n=500': -44.13,
   'cipher="aes-256-gcm" len=4096 n=500': -27.38,
   'cipher="aes-256-gcm" len=16384 n=500': -11.74 },
'hash-stream-creation': {
   'algo="sha256" api="legacy" len=2 out="hex" type="asc" writes=500': -68.41,
   'algo="sha256" api="legacy" len=1024 out="hex" type="asc" writes=500': -60.25,
   'algo="sha256" api="legacy" len=2 out="binary" type="asc" writes=500': -68.58,
   'algo="sha256" api="legacy" len=1024 out="binary" type="asc" writes=500': -60.51,
   'algo="sha256" api="legacy" len=2 out="buffer" type="asc" writes=500': -64.06,
   'algo="sha256" api="legacy" len=1024 out="buffer" type="asc" writes=500': -57.33,
   'algo="sha256" api="legacy" len=2 out="hex" type="utf" writes=500': -69.56,
   'algo="sha256" api="legacy" len=1024 out="hex" type="utf" writes=500': -58.65,
   'algo="sha256" api="legacy" len=2 out="binary" type="utf" writes=500': -70.01,
   'algo="sha256" api="legacy" len=1024 out="binary" type="utf" writes=500': -58.88,
   'algo="sha256" api="legacy" len=2 out="buffer" type="utf" writes=500': -65.12,
   'algo="sha256" api="legacy" len=1024 out="buffer" type="utf" writes=500': -56.01,
   'algo="sha256" api="legacy" len=2 out="hex" type="buf" writes=500': -67.46,
   'algo="sha256" api="legacy" len=1024 out="hex" type="buf" writes=500': -58.93,
   'algo="sha256" api="legacy" len=2 out="binary" type="buf" writes=500': -67.74,
   'algo="sha256" api="legacy" len=1024 out="binary" type="buf" writes=500': -58.98,
   'algo="sha256" api="legacy" len=2 out="buffer" type="buf" writes=500': -62.85,
   'algo="sha256" api="legacy" len=1024 out="buffer" type="buf" writes=500': -55.95,
   'algo="md5" api="legacy" len=2 out="hex" type="asc" writes=500': -68.92,
   'algo="md5" api="legacy" len=1024 out="hex" type="asc" writes=500': -65.12,
   'algo="md5" api="legacy" len=102400 out="hex" type="asc" writes=500': -11.61,
   'algo="md5" api="legacy" len=2 out="binary" type="asc" writes=500': -69.65,
   'algo="md5" api="legacy" len=1024 out="binary" type="asc" writes=500': -65.85,
   'algo="md5" api="legacy" len=102400 out="binary" type="asc" writes=500': -11.46,
   'algo="md5" api="legacy" len=2 out="buffer" type="asc" writes=500': -64.73,
   'algo="md5" api="legacy" len=1024 out="buffer" type="asc" writes=500': -61.71,
   'algo="md5" api="legacy" len=102400 out="buffer" type="asc" writes=500': -11.4,
   'algo="md5" api="legacy" len=2 out="hex" type="utf" writes=500': -70.09,
   'algo="md5" api="legacy" len=1024 out="hex" type="utf" writes=500': -63.91,
   'algo="md5" api="legacy" len=2 out="binary" type="utf" writes=500': -70.61,
   'algo="md5" api="legacy" len=1024 out="binary" type="utf" writes=500': -63.95,
   'algo="md5" api="legacy" len=2 out="buffer" type="utf" writes=500': -65.73,
   'algo="md5" api="legacy" len=1024 out="buffer" type="utf" writes=500': -60.23,
   'algo="md5" api="legacy" len=2 out="hex" type="buf" writes=500': -67.93,
   'algo="md5" api="legacy" len=1024 out="hex" type="buf" writes=500': -63.9,
   'algo="md5" api="legacy" len=102400 out="hex" type="buf" writes=500': -11.59,
   'algo="md5" api="legacy" len=2 out="binary" type="buf" writes=500': -68.48,
   'algo="md5" api="legacy" len=1024 out="binary" type="buf" writes=500': -64.36,
   'algo="md5" api="legacy" len=102400 out="binary" type="buf" writes=500': -11.55,
   'algo="md5" api="legacy" len=2 out="buffer" type="buf" writes=500': -63.59,
   'algo="md5" api="legacy" len=1024 out="buffer" type="buf" writes=500': -60.13,
   'algo="md5" api="legacy" len=102400 out="buffer" type="buf" writes=500': -11.73 },
'hash-stream-throughput': {
   'algo="sha1" api="legacy" len=2 type="asc" writes=500': -35.71,
   'algo="sha1" api="legacy" len=1024 type="asc" writes=500': -24.66,
   'algo="sha1" api="legacy" len=2 type="utf" writes=500': -41.67,
   'algo="sha1" api="legacy" len=1024 type="utf" writes=500': -21.52,
   'algo="sha1" api="legacy" len=2 type="buf" writes=500': -33.78,
   'algo="sha1" api="legacy" len=1024 type="buf" writes=500': -22.71,
   'algo="sha256" api="legacy" len=2 type="asc" writes=500': -36.48,
   'algo="sha256" api="legacy" len=1024 type="asc" writes=500': -18.78,
   'algo="sha256" api="legacy" len=2 type="utf" writes=500': -41.03,
   'algo="sha256" api="legacy" len=1024 type="utf" writes=500': -16.56,
   'algo="sha256" api="legacy" len=2 type="buf" writes=500': -33.76,
   'algo="sha256" api="legacy" len=1024 type="buf" writes=500': -17.47,
   'algo="sha512" api="legacy" len=2 type="asc" writes=500': -36.95,
   'algo="sha512" api="legacy" len=1024 type="asc" writes=500': -20.98,
   'algo="sha512" api="legacy" len=2 type="utf" writes=500': -42.2,
   'algo="sha512" api="legacy" len=1024 type="utf" writes=500': -18.5,
   'algo="sha512" api="legacy" len=2 type="buf" writes=500': -34.29,
   'algo="sha512" api="legacy" len=1024 type="buf" writes=500': -19.05 },

The culprits seem to be at least e559842188f541b884abff2ffad4d2d3e1b841a6 and possibly also d016b9d70897b7702e7862252d768ecdde89bc48.

/cc @ronag

created time in 7 days

issue commentnodejs/build

Benchmark CI for branches

I've also noticed that using commit hashes for the BASE and TARGET causes the process to fail with:

fatal: reference is not a tree: <commit hash>
addaleax

comment created time in 7 days

issue commentmscdex/node-imap

gmail

Did you try the suggested troubleshooting steps at the URL? This seems like a gmail account-specific issue, not an issue with this module.

melitus

comment created time in 7 days

pull request commentnodejs/node

benchmark: test refactoring

Also something that I just now noticed is that this PR changed the formatting of the configuration string (when writing the CSV output) such that each parameter is preceded by a space whether it's needed or not, which breaks tooling (something I'm currently working on) that monitors changes in benchmark results by comparing results for a particular configuration.

Just something to keep in mind if these changes get merged again later on.

BridgeAR

comment created time in 7 days

Pull request review commentnodejs/node

src: create a getter for kernel version

 const {   getUserInfo,   getUptime,   isBigEndian,+  getOSVersion,

I think this needs to follow how getOSRelease is set up since the C++ side is expecting an argument in case of error.

juanarbol

comment created time in 8 days

issue commentnodejs/node

Unexpected Parse Error inside HTTP client

@mattpr Node doesn't care about Content-Type specifically, it only cares that valid header characters are used throughout the header. There must be something else that is different between the two responses that is causing the parse error.

Ralle

comment created time in 8 days

issue closedmscdex/ssh2

Sftp server: Asynchronous callbacks.

Probably something that has already been answered. Is it possible to use Asynchronous code in the auth and steam callbacks? For example, making a database call in auth, or getting a dir listing from a remote source.

closed time in 10 days

steveswallow

issue commentmscdex/ssh2

Sftp server: Asynchronous callbacks.

Yes, you can send a response whenever you want.

steveswallow

comment created time in 10 days

delete branch mscdex/io.js

delete branch : buffer-improve-from-uint8array-perf

delete time in 10 days

PR merged nodejs/node

buffer: improve from() performance author ready buffer performance

Benchmark results:

                                                                confidence improvement accuracy (*)   (**)  (***)
 buffers/buffer-from.js n=800000 len=100 source='array'               ***     53.81 %       ±2.01% ±2.70% ±3.59%
 buffers/buffer-from.js n=800000 len=100 source='buffer'              ***     53.09 %       ±1.91% ±2.54% ±3.30%
 buffers/buffer-from.js n=800000 len=100 source='object'              ***     11.22 %       ±2.92% ±3.89% ±5.07%
 buffers/buffer-from.js n=800000 len=100 source='uint16array'         ***     47.57 %       ±1.62% ±2.16% ±2.82%
 buffers/buffer-from.js n=800000 len=100 source='uint8array'          ***     52.46 %       ±1.88% ±2.53% ±3.34%
 buffers/buffer-from.js n=800000 len=2048 source='array'              ***    147.71 %       ±1.20% ±1.61% ±2.13%
 buffers/buffer-from.js n=800000 len=2048 source='buffer'             ***      8.93 %       ±1.23% ±1.64% ±2.14%
 buffers/buffer-from.js n=800000 len=2048 source='object'             ***      8.92 %       ±3.90% ±5.20% ±6.78%
 buffers/buffer-from.js n=800000 len=2048 source='uint16array'        ***    313.08 %       ±1.83% ±2.46% ±3.26%
 buffers/buffer-from.js n=800000 len=2048 source='uint8array'         ***      6.70 %       ±1.64% ±2.20% ±2.89%
 buffers/buffer-from.js n=800000 len=8192 source='array'              ***     47.04 %       ±0.90% ±1.21% ±1.60%
 buffers/buffer-from.js n=800000 len=8192 source='buffer'             ***      6.58 %       ±2.14% ±2.86% ±3.73%
 buffers/buffer-from.js n=800000 len=8192 source='object'             ***     10.50 %       ±2.70% ±3.60% ±4.71%
 buffers/buffer-from.js n=800000 len=8192 source='uint16array'        ***    338.05 %       ±3.12% ±4.21% ±5.58%
 buffers/buffer-from.js n=800000 len=8192 source='uint8array'         ***      5.25 %       ±1.99% ±2.65% ±3.45%
Checklist

<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

  • [x] make -j4 test (UNIX), or vcbuild test (Windows) passes
  • [x] commit message follows commit guidelines

<!-- Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. -->

+51 -32

5 comments

2 changed files

mscdex

pr closed time in 10 days

push eventnodejs/node

Brian White

commit sha 74291e4a7ba6185c1b78a110538ed3db3bc6b244

buffer: improve from() performance PR-URL: https://github.com/nodejs/node/pull/31615 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>

view details

push time in 10 days

push eventmscdex/io.js

ConorDavenport

commit sha 99c8c6d80ff97ac7d53e01722142ac37756aabf1

src: remove duplicate field env in CryptoJob class Removed field env from cryptojob class, replaced with function env() inherited from ThreadPoolWork PR-URL: https://github.com/nodejs/node/pull/31554 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>

view details

Sam Roberts

commit sha dbaa4ca166a5da08f933ec99eee5f41b740bd13c

test: simplify test-https-simple.js It had an unused `Agent` option (no such option exists), and some code that common.must(Not)Call makes redundant. PR-URL: https://github.com/nodejs/node/pull/31584 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Denys Otrishko

commit sha f7a1ef6fb51f814223e3c26fffb9d39b08f91b1b

benchmark: clean up config resolution in multiple benchmarks This removes 'to Number' casting in multiple benchmarks (which is handled by the benchmark runner) and cleans up some var usage in changed benchmarks. PR-URL: https://github.com/nodejs/node/pull/31581 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Anna Henningsen

commit sha 875a4d1a58d6dec80518c9d2a05ae6107c70b066

worker: add ability to take heap snapshot from parent thread PR-URL: https://github.com/nodejs/node/pull/31569 Reviewed-By: Denys Otrishko <shishugi@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Guy Bedford

commit sha 0f96dc266fd0cd8c1baa82ce7eb951c11b29a331

esm: import.meta.resolve with nodejs: builtins PR-URL: https://github.com/nodejs/node/pull/31032 Reviewed-By: Jan Krems <jan.krems@gmail.com> Reviewed-By: Myles Borins <myles.borins@gmail.com>

view details

ConorDavenport

commit sha d4660aba6324096198bc17772ba16fce6259967d

src: change Fill() to use ParseArrayIndex() Changed Fill() to use ParseArrayIndex() when getting start and end of buffers instead of Uint32Value, supporting buffers of greater than 2**32 Fixes: https://github.com/nodejs/node/issues/31514 Co-Authored-By: Rich Trott <rtrott@gmail.com> PR-URL: https://github.com/nodejs/node/pull/31591 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>

view details

Anna Henningsen

commit sha d435dc47f3d303ff1669fa711a0af287a9df973a

test: unset NODE_OPTIONS for cctest The test may fail otherwise because of behaviour changes caused by setting the environment variable. Fixes: https://github.com/nodejs/node/issues/31585 PR-URL: https://github.com/nodejs/node/pull/31594 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

bcoe

commit sha 3f70d7720333dd0996dfd6ca21beb4a24d561e1b

fs: set path when mkdir recursive called on file PR-URL: https://github.com/nodejs/node/pull/31607 Fixes: https://github.com/nodejs/node/issues/28015 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>

view details

Rusty Conover

commit sha ee9e689df2dd219084820d1adb7a97d104726794

net: track state of setNoDelay() and prevent unnecessary system calls The state of .setNoDelay() is now tracked and code will prevent repeated system calls to setsockopt() when the value has already been set to the desired value for the socket. Change and expand the appropriate test. PR-URL: https://github.com/nodejs/node/pull/31543 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>

view details

Anna Henningsen

commit sha 60de60a0ce21378c80353489759dc70f05156cc7

src: remove unused `Worker::child_port_` member This fixes a compiler warning introduced in 9225939528590f652e6. PR-URL: https://github.com/nodejs/node/pull/31599 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>

view details

Kirill Fomichev

commit sha 018c3e8949e925efc8077801d44c2b2feb974750

perf_hooks: add property flags to GCPerformanceEntry PR-URL: https://github.com/nodejs/node/pull/29547 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com>

view details

James M Snell

commit sha 2d8febceef35bdd52624028bdee2e0d58830ae7f

fs: deprecate closing FileHandle on garbage collection Closing the FileHandle on garbage collection is a bad practice. Runtime deprecate and indicate that an error will be thrown in the future. PR-URL: https://github.com/nodejs/node/pull/28396 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Ruben Bridgewater

commit sha fb6df3bfac8ca38a7012eabf0563d7a799ce1acc

fs: validate the input data to be of expected types The input was not validated so far and that caused unwanted side effects. E.g., `undefined` became the string `'undefined'`. It was expected to fail or to end up as empty string. Now all input is validated to be either some type of array buffer view or a string. That way it's always clear what the user intents. PR-URL: https://github.com/nodejs/node/pull/31030 Fixes: https://github.com/nodejs/node/issues/31025 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>

view details

Juan José Arboleda

commit sha afe353061b3c0543ebaa40668f27c12384e6c5d6

doc: fs.write is not longer coercing strings PR-URL: https://github.com/nodejs/node/pull/31030 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>

view details

Ruben Bridgewater

commit sha f295ba5d2ce13c2a53f405d5915ad920431331be

test: refactor test-readline-interface.js This reduces the code lines required to run the tests by abstracting the constructor call. It also moves tests out of a for loop that where miss placed. PR-URL: https://github.com/nodejs/node/pull/31423 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Ruben Bridgewater

commit sha 1fb4bd1fc4b970c5154159ad6734bc722052af3b

test: abstract common assertions in readline-interface test PR-URL: https://github.com/nodejs/node/pull/31423 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Anna Henningsen

commit sha 6a6279ef2a38c17a761cc15366e615c620328587

doc: add AsyncResource + Worker pool example Use Worker thread pools as an example of how `AsyncResource` can be used to track async state across callbacks. PR-URL: https://github.com/nodejs/node/pull/31601 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>

view details

Robert Nagy

commit sha 234de6f1fd90ece1edc1a12d989ab0f15a1f19b8

stream: fix finished w/ 'close' before 'finish' Emitting 'close' before 'finish' on a Writable should result in a premature close error. PR-URL: https://github.com/nodejs/node/pull/31534 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>

view details

Anna Henningsen

commit sha c1da4e4aa4583c14f87c8d230ce7580f3b157ff0

src: fix inspecting `MessagePort` from `init` async hook During the `init()` async hook, the C++ object is not finished creating yet (i.e. it is an `AsyncWrap`, but not yet a `HandleWrap` or `MessagePort`). Accessing the `handle_` field is not valid in that case. However, the custom inspect function for `MessagePort`s calls `HasRef()` on the object, which would crash when the object is not fully constructed. Fix that by guarding the access of the libuv handle on that condition. PR-URL: https://github.com/nodejs/node/pull/31600 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>

view details

Conor ONeill

commit sha 7e911d8b03a838e5ac6bb06c5b313533e89673ef

doc: add example to fs.promises.readdir PR-URL: https://github.com/nodejs/node/pull/31552 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

push time in 10 days

delete branch mscdex/io.js

delete branch : stream-writable-write-perf

delete time in 10 days

PR merged nodejs/node

stream: improve writable.write() performance author ready benchmark performance stream

Benchmark results:

                                                                                   confidence improvement accuracy (*)   (**)  (***)
 streams/writable-manywrites.js callback='no' writev='no' sync='no' n=40000000                    0.72 %       ±1.42% ±1.89% ±2.46%
 streams/writable-manywrites.js callback='no' writev='no' sync='yes' n=40000000          ***      2.82 %       ±0.54% ±0.72% ±0.94%
 streams/writable-manywrites.js callback='no' writev='yes' sync='no' n=40000000                   1.04 %       ±1.11% ±1.47% ±1.92%
 streams/writable-manywrites.js callback='no' writev='yes' sync='yes' n=40000000         ***      3.18 %       ±0.69% ±0.92% ±1.20%
 streams/writable-manywrites.js callback='yes' writev='no' sync='no' n=40000000                  -0.39 %       ±1.56% ±2.09% ±2.73%
 streams/writable-manywrites.js callback='yes' writev='no' sync='yes' n=40000000         ***      7.03 %       ±0.83% ±1.11% ±1.45%
 streams/writable-manywrites.js callback='yes' writev='yes' sync='no' n=40000000         ***      2.28 %       ±1.06% ±1.41% ±1.83%
 streams/writable-manywrites.js callback='yes' writev='yes' sync='yes' n=40000000        ***      8.46 %       ±0.89% ±1.18% ±1.55%

There is also a change to the benchmark runner to ensure that end() is not called multiple times. This was happening in the Writable benchmark and was at least causing weird display issues (e.g. improper fraction for # of configs, completion percentage bouncing back and forth, etc.) when using benchmark/compare.js and showing progress.

The reason why that was happening was that process.send() is used to send the result, which is async and gives individual benchmarks time to call .end() again before the process actually exits.

Checklist

<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

  • [x] make -j4 test (UNIX), or vcbuild test (Windows) passes
  • [x] commit message follows commit guidelines

<!-- Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. -->

+29 -25

2 comments

3 changed files

mscdex

pr closed time in 10 days

push eventnodejs/node

Brian White

commit sha b862a0c6d69bac6e7deaf7c53802a5d3bc05099e

benchmark: check for and fix multiple end() PR-URL: https://github.com/nodejs/node/pull/31624 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>

view details

Brian White

commit sha 43783b5b3fa0a0d477ae34aeb0405956fb534dc4

stream: improve writable.write() performance PR-URL: https://github.com/nodejs/node/pull/31624 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>

view details

push time in 10 days

push eventmscdex/io.js

Brian White

commit sha b862a0c6d69bac6e7deaf7c53802a5d3bc05099e

benchmark: check for and fix multiple end() PR-URL: https://github.com/nodejs/node/pull/31624 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>

view details

Brian White

commit sha 43783b5b3fa0a0d477ae34aeb0405956fb534dc4

stream: improve writable.write() performance PR-URL: https://github.com/nodejs/node/pull/31624 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>

view details

push time in 10 days

push eventmscdex/io.js

ConorDavenport

commit sha 99c8c6d80ff97ac7d53e01722142ac37756aabf1

src: remove duplicate field env in CryptoJob class Removed field env from cryptojob class, replaced with function env() inherited from ThreadPoolWork PR-URL: https://github.com/nodejs/node/pull/31554 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>

view details

Sam Roberts

commit sha dbaa4ca166a5da08f933ec99eee5f41b740bd13c

test: simplify test-https-simple.js It had an unused `Agent` option (no such option exists), and some code that common.must(Not)Call makes redundant. PR-URL: https://github.com/nodejs/node/pull/31584 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Denys Otrishko

commit sha f7a1ef6fb51f814223e3c26fffb9d39b08f91b1b

benchmark: clean up config resolution in multiple benchmarks This removes 'to Number' casting in multiple benchmarks (which is handled by the benchmark runner) and cleans up some var usage in changed benchmarks. PR-URL: https://github.com/nodejs/node/pull/31581 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Anna Henningsen

commit sha 875a4d1a58d6dec80518c9d2a05ae6107c70b066

worker: add ability to take heap snapshot from parent thread PR-URL: https://github.com/nodejs/node/pull/31569 Reviewed-By: Denys Otrishko <shishugi@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Guy Bedford

commit sha 0f96dc266fd0cd8c1baa82ce7eb951c11b29a331

esm: import.meta.resolve with nodejs: builtins PR-URL: https://github.com/nodejs/node/pull/31032 Reviewed-By: Jan Krems <jan.krems@gmail.com> Reviewed-By: Myles Borins <myles.borins@gmail.com>

view details

ConorDavenport

commit sha d4660aba6324096198bc17772ba16fce6259967d

src: change Fill() to use ParseArrayIndex() Changed Fill() to use ParseArrayIndex() when getting start and end of buffers instead of Uint32Value, supporting buffers of greater than 2**32 Fixes: https://github.com/nodejs/node/issues/31514 Co-Authored-By: Rich Trott <rtrott@gmail.com> PR-URL: https://github.com/nodejs/node/pull/31591 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>

view details

Anna Henningsen

commit sha d435dc47f3d303ff1669fa711a0af287a9df973a

test: unset NODE_OPTIONS for cctest The test may fail otherwise because of behaviour changes caused by setting the environment variable. Fixes: https://github.com/nodejs/node/issues/31585 PR-URL: https://github.com/nodejs/node/pull/31594 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

bcoe

commit sha 3f70d7720333dd0996dfd6ca21beb4a24d561e1b

fs: set path when mkdir recursive called on file PR-URL: https://github.com/nodejs/node/pull/31607 Fixes: https://github.com/nodejs/node/issues/28015 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>

view details

Rusty Conover

commit sha ee9e689df2dd219084820d1adb7a97d104726794

net: track state of setNoDelay() and prevent unnecessary system calls The state of .setNoDelay() is now tracked and code will prevent repeated system calls to setsockopt() when the value has already been set to the desired value for the socket. Change and expand the appropriate test. PR-URL: https://github.com/nodejs/node/pull/31543 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>

view details

Anna Henningsen

commit sha 60de60a0ce21378c80353489759dc70f05156cc7

src: remove unused `Worker::child_port_` member This fixes a compiler warning introduced in 9225939528590f652e6. PR-URL: https://github.com/nodejs/node/pull/31599 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>

view details

Kirill Fomichev

commit sha 018c3e8949e925efc8077801d44c2b2feb974750

perf_hooks: add property flags to GCPerformanceEntry PR-URL: https://github.com/nodejs/node/pull/29547 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com>

view details

James M Snell

commit sha 2d8febceef35bdd52624028bdee2e0d58830ae7f

fs: deprecate closing FileHandle on garbage collection Closing the FileHandle on garbage collection is a bad practice. Runtime deprecate and indicate that an error will be thrown in the future. PR-URL: https://github.com/nodejs/node/pull/28396 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Ruben Bridgewater

commit sha fb6df3bfac8ca38a7012eabf0563d7a799ce1acc

fs: validate the input data to be of expected types The input was not validated so far and that caused unwanted side effects. E.g., `undefined` became the string `'undefined'`. It was expected to fail or to end up as empty string. Now all input is validated to be either some type of array buffer view or a string. That way it's always clear what the user intents. PR-URL: https://github.com/nodejs/node/pull/31030 Fixes: https://github.com/nodejs/node/issues/31025 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>

view details

Juan José Arboleda

commit sha afe353061b3c0543ebaa40668f27c12384e6c5d6

doc: fs.write is not longer coercing strings PR-URL: https://github.com/nodejs/node/pull/31030 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>

view details

Ruben Bridgewater

commit sha f295ba5d2ce13c2a53f405d5915ad920431331be

test: refactor test-readline-interface.js This reduces the code lines required to run the tests by abstracting the constructor call. It also moves tests out of a for loop that where miss placed. PR-URL: https://github.com/nodejs/node/pull/31423 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Ruben Bridgewater

commit sha 1fb4bd1fc4b970c5154159ad6734bc722052af3b

test: abstract common assertions in readline-interface test PR-URL: https://github.com/nodejs/node/pull/31423 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Anna Henningsen

commit sha 6a6279ef2a38c17a761cc15366e615c620328587

doc: add AsyncResource + Worker pool example Use Worker thread pools as an example of how `AsyncResource` can be used to track async state across callbacks. PR-URL: https://github.com/nodejs/node/pull/31601 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>

view details

Robert Nagy

commit sha 234de6f1fd90ece1edc1a12d989ab0f15a1f19b8

stream: fix finished w/ 'close' before 'finish' Emitting 'close' before 'finish' on a Writable should result in a premature close error. PR-URL: https://github.com/nodejs/node/pull/31534 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>

view details

Anna Henningsen

commit sha c1da4e4aa4583c14f87c8d230ce7580f3b157ff0

src: fix inspecting `MessagePort` from `init` async hook During the `init()` async hook, the C++ object is not finished creating yet (i.e. it is an `AsyncWrap`, but not yet a `HandleWrap` or `MessagePort`). Accessing the `handle_` field is not valid in that case. However, the custom inspect function for `MessagePort`s calls `HasRef()` on the object, which would crash when the object is not fully constructed. Fix that by guarding the access of the libuv handle on that condition. PR-URL: https://github.com/nodejs/node/pull/31600 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>

view details

Conor ONeill

commit sha 7e911d8b03a838e5ac6bb06c5b313533e89673ef

doc: add example to fs.promises.readdir PR-URL: https://github.com/nodejs/node/pull/31552 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

push time in 10 days

push eventmscdex/io.js

Brian White

commit sha dea2b5012c309c408bea9f8d166afd474adce526

stream: improve writable.write() performance PR-URL: https://github.com/nodejs/node/pull/31624 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>

view details

push time in 10 days

Pull request review commentnodejs/node

http2,doc,test: add server.timeout property to public API

 if (!common.hasCrypto) const http2 = require('http2');  const server = http2.createServer();-server.setTimeout(common.platformTimeout(50));

Shouldn't we keep this as a separate test in this file since server.setTimeout() should still work?

puzpuzpuz

comment created time in 10 days

Pull request review commentnodejs/node

http2,doc,test: add server.timeout property to public API

 on the `Http2Server` after `msecs` milliseconds.  The given callback is registered as a listener on the `'timeout'` event. -In case of no callback function were assigned, a new `ERR_INVALID_CALLBACK`+In case if `callback` is not a function, a new `ERR_INVALID_CALLBACK` error will be thrown. +#### `server.timeout`+<!-- YAML+added: v8.4.0+changes:+  - version: v13.0.0+    pr-url: https://github.com/nodejs/node/pull/27558+    description: The default timeout changed from 120s to 0 (no timeout).

nit:

    description: The default timeout changed from 120 seconds to 0 (no timeout).

here and below

puzpuzpuz

comment created time in 10 days

pull request commentnodejs/node

http2,doc,test: add server.timeout property to public API

subsystem target in the commit message should just be doc,test:

puzpuzpuz

comment created time in 10 days

issue openedAndreasMadsen/ttest

Feature Request: "BigNum/BigDecimal" interface

It would be nice to be able to perform calculations on arbitrarily large numbers without having to worry about the limitations of JavaScript's Number (or BigInt for that matter).

created time in 10 days

pull request commentnodejs/node

doc,https: fix default server timeout

doc-only changes should just target the doc: subsystem in the commit message

puzpuzpuz

comment created time in 10 days

pull request commentnodejs/node

doc,net: reword Unix domain path paragraph in net.md

subsystem target should just be doc for doc-only changes.

Trott

comment created time in 11 days

issue commentmscdex/ssh2

SSH2 hangs after connected event in node10.x

If it's the initial host then I don't know why there would be any problem as long as there's nothing wrong with the host.

Out of curiosity, is there any change in behavior with node v12.x and/or v13.x?

yadavsahil197

comment created time in 11 days

issue commentmscdex/ssh2

SSH2 hangs after connected event in node10.x

Which leg is the issue occurring with? The first host or the second host?

yadavsahil197

comment created time in 11 days

issue commentmscdex/ssh2

SSH2 hangs after connected event in node10.x

Are you performing connection hopping of any kind or just connecting to a single ssh server and forwarding from there?

yadavsahil197

comment created time in 11 days

issue commentmscdex/ssh2

SSH2 hangs after connected event in node10.x

I have no idea. If there is a way I can duplicate the issue on my end I can look into it.

yadavsahil197

comment created time in 11 days

Pull request review commentnodejs/node

tools: add preprocessor directive styling rules to linter

 #define SRC_NODE_H_  #ifdef _WIN32-# ifndef BUILDING_NODE_EXTENSION-#  define NODE_EXTERN __declspec(dllexport)-# else-#  define NODE_EXTERN __declspec(dllimport)-# endif+#ifndef BUILDING_NODE_EXTENSION+#define NODE_EXTERN __declspec(dllexport) #else-# define NODE_EXTERN __attribute__((visibility("default")))+#define NODE_EXTERN __declspec(dllimport)+#endif+#else+#define NODE_EXTERN __attribute__((visibility("default")))

I agree, we should keep these indented one way or another.

ConorDavenport

comment created time in 12 days

pull request commentnodejs/node

tools: add preprocessor directive styling rules to linter

It looks like some unrelated commits got added to the PR. Could you remove those first?

ConorDavenport

comment created time in 12 days

issue commentmscdex/mmmagic

Error: "Could not load any valid magic files"

Do you have a way to reliably reproduce the issue that I can use on my end?

srlowe

comment created time in 12 days

issue commentmscdex/mmmagic

Error: "Could not load any valid magic files"

The only "dependency" is that any custom (including OS-provided) magic database file be compatible with the version of libmagic included in mmmagic. If the built-in magic database file is used, there should be no issue.

You might also check that there isn't something like a MAGIC environment variable set which could override the magic database file being used.

srlowe

comment created time in 13 days

issue commentmscdex/ssh2

Agent forwarding to ssh2.Server doesn't work

The ssh2.Server does not set up UNIX sockets or set environment variables for commands when agent forwarding is enabled for a client because how commands are executed is up to the end user/implementer. So to emulate what OpenSSH does, you'd need to set up a net.createServer() (which pipes incoming sockets to the client (using openssh_authAgent()) and vice versa) for the client, listening on a path and setting any environment variables on client exec()/shell()` appropriately.

wbobeirne

comment created time in 15 days

pull request commentnodejs/node

doc: add note regarding net.Socket default timeout

@aduh95 I meant the change in default timeout should be noted in the documentation for each appropriate subsystem, most likely listed in the changes: YAML somewhere. The reason I believe this change shouldn't be made in the net documentation is that I don't think most people using the http* modules are going to know to find these details in the documentation for net.

aduh95

comment created time in 15 days

PR opened nodejs/node

stream: improve writable.write() performance benchmark performance stream

Benchmark results:

                                                                                   confidence improvement accuracy (*)   (**)  (***)
 streams/writable-manywrites.js callback='no' writev='no' sync='no' n=40000000                    0.72 %       ±1.42% ±1.89% ±2.46%
 streams/writable-manywrites.js callback='no' writev='no' sync='yes' n=40000000          ***      2.82 %       ±0.54% ±0.72% ±0.94%
 streams/writable-manywrites.js callback='no' writev='yes' sync='no' n=40000000                   1.04 %       ±1.11% ±1.47% ±1.92%
 streams/writable-manywrites.js callback='no' writev='yes' sync='yes' n=40000000         ***      3.18 %       ±0.69% ±0.92% ±1.20%
 streams/writable-manywrites.js callback='yes' writev='no' sync='no' n=40000000                  -0.39 %       ±1.56% ±2.09% ±2.73%
 streams/writable-manywrites.js callback='yes' writev='no' sync='yes' n=40000000         ***      7.03 %       ±0.83% ±1.11% ±1.45%
 streams/writable-manywrites.js callback='yes' writev='yes' sync='no' n=40000000         ***      2.28 %       ±1.06% ±1.41% ±1.83%
 streams/writable-manywrites.js callback='yes' writev='yes' sync='yes' n=40000000        ***      8.46 %       ±0.89% ±1.18% ±1.55%

There is also a change to the benchmark runner to ensure that end() is not called multiple times. This was happening in the Writable benchmark and at least causing weird display issues (e.g. improper fraction for # of configs, completion percentage bouncing back and forth, etc.) when using benchmark/compare.js and showing progress.

The reason why that was happening was that process.send() is used to send the result and is async, giving individual benchmarks time to call .end() again before the process actually exited.

Checklist

<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

  • [ ] make -j4 test (UNIX), or vcbuild test (Windows) passes
  • [ ] tests and/or benchmarks are included
  • [ ] documentation is changed or added
  • [ ] commit message follows commit guidelines

<!-- Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. -->

+29 -25

0 comment

3 changed files

pr created time in 15 days

create barnchmscdex/io.js

branch : stream-writable-write-perf

created branch time in 15 days

issue closedmscdex/ssh2-streams

Wrong requirement in README, node version should >= 5.10.0

ssh2-streams cannot run when node version is 5.2.0, because Buffer.from is used. Buffer.from is included in node version 5.10.0. ssh2 cannot run when node version is 5.2.0 too. See Buffer | Node.js Documentation.

closed time in 15 days

XeroAlpha

issue commentmscdex/ssh2-streams

Wrong requirement in README, node version should >= 5.10.0

Fixed in 881cf9cd47cc52df03e6afca52520dd56440b3da.

XeroAlpha

comment created time in 15 days

push eventmscdex/ssh2

Brian White

commit sha e4e11a05e1a2cf6e1f913886a8beb7be176cf7d1

readme: update node version requirement

view details

push time in 15 days

push eventmscdex/ssh2-streams

Brian White

commit sha 881cf9cd47cc52df03e6afca52520dd56440b3da

readme: update node version requirement

view details

push time in 15 days

issue commentmscdex/busboy

file end event and stream write close event are not in sync.

If you're writing the file to disk (via fs.createWriteStream()), then the fs.WriteStream from node should have a bytesWritten property that you should be able to use.

DungeonMasterAkshay

comment created time in 15 days

issue commentmscdex/busboy

file end event and stream write close event are not in sync.

There is no bytesRead for plain streams, you're probably thinking of sockets in node core or something else that adds that property. If you want that information you'd need to set up a counter yourself.

DungeonMasterAkshay

comment created time in 15 days

issue commentnodejs/node

addons/openssl-binding/test very flaky on ARM

FWIW I'm still seeing this addon test failure in CI, despite the commit to mark it as flaky having landed awhile back.

rvagg

comment created time in 16 days

issue closednodejs/node

Create option for cloning a variable

Is your feature request related to a problem? Please describe.

The problem is that sometimes you want to declare a variable not as a pointer but for each value you need to do different things for example for string you in to split and join or for array you can [... array] but sometimes you want a simple way to do that like deep clone or function or class element...

Describe the solution you'd like Please describe the desired behavior.

sometimes you want a simple syntax for that, for example something like: let a@ = b // new pointer let a = b // same pointer

Describe alternatives you've considered There are external libraries or some complex ways to do that but I think it's should be part of native language and should be easy.

https://stackoverflow.com/questions/56052352/javascript-variable-changing-value-after-changes-in-original-variable

https://stackoverflow.com/questions/31712808/how-to-force-javascript-to-deep-copy-a-string

https://stackoverflow.com/questions/41474986/how-to-clone-a-javascript-es6-class-instance

closed time in 16 days

InsaniManES

issue commentnodejs/node

Create option for cloning a variable

Changes to the language are outside the scope of node.js. If you want to see a new language feature, this is the best place to start.

InsaniManES

comment created time in 16 days

pull request commentnodejs/node

buffer: improve from() performance

@jasnell I found additional changes that provided even greater benefit.

mscdex

comment created time in 16 days

push eventmscdex/io.js

Brian White

commit sha 3deb306eedb156d395fa37fcb4c1f010d5247450

buffer: improve from() performance

view details

push time in 16 days

PR opened nodejs/node

buffer: improve from(uint8array) performance buffer performance

Benchmark results:

                                                               confidence improvement accuracy (*)   (**)  (***)
 buffers/buffer-from.js n=800000 len=100 source='uint8array'         ***     44.41 %       ±1.34% ±1.79% ±2.35%
 buffers/buffer-from.js n=800000 len=2048 source='uint8array'        ***      7.82 %       ±0.80% ±1.06% ±1.38%
Checklist

<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

  • [x] make -j4 test (UNIX), or vcbuild test (Windows) passes
  • [x] commit message follows commit guidelines

<!-- Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. -->

+1 -1

0 comment

1 changed file

pr created time in 16 days

push eventmscdex/io.js

Brian White

commit sha 8c7ca32f542e5832801cbeee02ae62e55387e4f4

buffer: improve from(uint8array) performance

view details

push time in 16 days

create barnchmscdex/io.js

branch : buffer-improve-from-uint8array-perf

created branch time in 16 days

issue commentmscdex/busboy

file end event and stream write close event are not in sync.

busboy emits 'finish' once all of the data for the entire form has been consumed (including every separate stream emitted in 'file'). However, it has no knowledge of what consumed it, so it's impossible for it to wait for ws to finish sending the last chunk to the operating system and close its file descriptor.

DungeonMasterAkshay

comment created time in 17 days

issue commentnodejs/node

flaky: citgm.spawn-wrap-v2.0.0

This should probably posted to https://github.com/nodejs/citgm/issues instead.

ronag

comment created time in 17 days

issue commentnodejs/node

Console.log fails silently instead of throwing reference error

I can't reproduce this with the same version on Linux.

csufeardir

comment created time in 19 days

delete branch mscdex/io.js

delete branch : buffer-improve-concat-perf

delete time in 21 days

Pull request review commentnodejs/node

doc: add note in BUILDING.md about running `make distclean`

 may reduce build time. For more information, see the The above requires that `python` resolves to a supported version of Python. See [Prerequisites](#prerequisites). +A stale build can lead to issues, for example a `file not found` error.
A stale build can lead to issues, for example a "file not found" error.
swagatata

comment created time in 21 days

issue commentmscdex/ssh2

Pipe to Channel hangs on "Parser: IN_PACKETBEFORE (expecting 16)"

I don't have experience with containers so I can't answer about that.

If you're feeling particularly up to it, you could narrow down which node commit caused the failures by doing a git bisect between node v12.8.1 and node v12.9.0 in the node repository. Otherwise I'd need a way to duplicate the issue on my end so I can do the bisect. Is the issue still reproducible without the tar-fs module?

ad-m

comment created time in 21 days

issue commentmscdex/ssh2

Pipe to Channel hangs on "Parser: IN_PACKETBEFORE (expecting 16)"

Also, what node version are you using?

ad-m

comment created time in 21 days

issue commentmscdex/ssh2

Pipe to Channel hangs on "Parser: IN_PACKETBEFORE (expecting 16)"

Can you also provide both the ssh2 client debug output when connecting to the OpenSSH server and the ssh2 server debug output?

ad-m

comment created time in 21 days

Pull request review commentnodejs/node

src: deprecate errname method at runtime

 void Initialize(Local<Object> target,                   ->GetFunction(env->context())                   .ToLocalChecked()).Check(); -  // TODO(joyeecheung): This should be deprecated in user land in favor of

Why is the TODO being removed? It seems to be referencing something other than what's being changed in this PR?

juanarbol

comment created time in 21 days

pull request commentnodejs/node

lib: add error handling for input stream

Also, simply throwing inside an 'error' handler shouldn't be necessary as throwing is the default behavior when there are no 'error' handlers (and if there was already an 'error' handler before passing the stream to readline then the user could've easily rejected the promise from their event handler).

rexagod

comment created time in 21 days

pull request commentnodejs/node

lib: add error handling for input stream

I think transparently attaching an 'error' handler to input streams is not a good idea, especially because the event handler is never removed.

IMO the supplier of the input stream should be responsible for handling errors on user-supplied streams appropriately, not readline.

rexagod

comment created time in 21 days

Pull request review commentnodejs/node

lib: add error handling for input stream

+{

This file should be removed.

rexagod

comment created time in 21 days

issue closedmscdex/busboy

Is it possible to intercept a multipart file upload and pipe it to another api?

I'm in dilemma where I have an express based rest api and need to upload mulitpart files (basically, large files that exceed 1GB) and send them through to another 3rd party api. My first approach was to upload the file and write it to disk, and when the file upload completes, read it in with a read steam and send it to the 3rd party api. While this work, it could be a problem with performance, disk space, etc. What I would really like to do is pass the request to the 3rd party api so that the stream passes between my api and the 3rd party api. I can't change the 3rd party api and it works like this:

api.files.getUploader(location_id, fileSize, filename, readStream) .then(uploader => { uploader.start() }) .then(fileInfo => { console.log('upload complete' })

Is there a way I can pipe the file upload stream into the read steam that this api is expecting? I'll also need the file size as you can see from the example.

closed time in 21 days

u84six

issue commentmscdex/busboy

Is it possible to intercept a multipart file upload and pipe it to another api?

If it requires the file size up front, then you're generally going to be out of luck because of the nature of multipart/form-data (where parts are separated by string boundaries and are not length-prefixed). This means you're have to save the entirety of the file somewhere first to be able to obtain the file size.

However, you could send the file size (available in the browser when using the FormData web API for example) as a separate (hidden) text field that comes before the file field in the form and use that.

u84six

comment created time in 21 days

delete branch mscdex/io.js

delete branch : crypto-improve-randombytes-perf

delete time in 21 days

pull request commentnodejs/node

doc: add note in BUILDING.md about running `make distclean`

May want to also mention the need to re-run the make command after make distclean.

swagatata

comment created time in 22 days

Pull request review commentnodejs/node

doc: add note in BUILDING.md about running `make distclean`

 may reduce build time. For more information, see the The above requires that `python` resolves to a supported version of Python. See [Prerequisites](#prerequisites). +If you run into a `file not found` error, please try

I'm not sure it's worth being this specific unless this is the only error seen with a stale build.

swagatata

comment created time in 22 days

pull request commentnodejs/node

buffer: improve concat() performance

Swapped out the .fill() in .concat() for a more direct byte-based fill and included a benchmark for it.

mscdex

comment created time in 23 days

push eventmscdex/io.js

Rich Trott

commit sha 97ac66130294aa112e587c86d2cd28a94bbe4ecd

doc: enable visual code indication in headers This enables the grey background for inline code in headers. Refs: https://github.com/nodejs/node/pull/31460#issuecomment-577154740 PR-URL: https://github.com/nodejs/node/pull/31493 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Geoffrey Booth <webmaster@geoffreybooth.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>

view details

Robert Nagy

commit sha 90e6e18f33d1f0f9e4d9775ee283b9a5f2642959

stream: add async iterator support for v1 streams PR-URL: https://github.com/nodejs/node/pull/31316 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>

view details

Robert Nagy

commit sha a6d63c44a2b3273d4e09576c52011e3197d6a4b3

stream: normalize async iterator stream destroy PR-URL: https://github.com/nodejs/node/pull/31316 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>

view details

Robert Nagy

commit sha 2c54459378039199d8362b3109908a0dd29aa2b3

stream: implement throw for async iterator PR-URL: https://github.com/nodejs/node/pull/31316 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>

view details

Robert Nagy

commit sha c6bf9539cc1645fe768bff6ce2eee85636d341a7

stream: simplify pipeline PR-URL: https://github.com/nodejs/node/pull/31316 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>

view details

Robert Nagy

commit sha 07915db233dcb03ea9586086cc4f599b96fa9000

stream: re-use legacy destroyer PR-URL: https://github.com/nodejs/node/pull/31316 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>

view details

cjihrig

commit sha a2f9ccd3d2bffc6f72f02acf7fc4813c670a64ed

deps: uvwasi: cherry-pick 7b5b6f9 Original commit message: allow windows to detect tty types uv_fs_fstat() fails on TTYs on Windows. This commit updates uvwasi__get_filetype_by_fd() to detect this case and map the fd to the WASI character device type. Refs: https://github.com/nodejs/node/issues/31461 Fixes: https://github.com/nodejs/node/issues/31461 PR-URL: https://github.com/nodejs/node/pull/31495 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Brian White

commit sha 886965963ac55825e91887e973226ef010f8fc64

deps: switch to chromium's zlib implementation This implementation provides optimizations not included upstream. PR-URL: https://github.com/nodejs/node/pull/31201 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>

view details

Brian White

commit sha 59cba9a5c20c4a9fee34a3f6601025666aa6f9f6

buffer: improve fill(number) performance PR-URL: https://github.com/nodejs/node/pull/31489 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

view details

Brian White

commit sha 6ff3aa6a4a40f33fcb00926dc8f3a25b870aca84

buffer: improve concat() performance

view details

push time in 23 days

delete branch mscdex/io.js

delete branch : zlib-simd

delete time in 23 days

delete branch mscdex/io.js

delete branch : buffer-improve-fill-number-perf

delete time in 23 days

PR merged nodejs/node

buffer: improve fill(number) performance C++ author ready buffer performance

Uses the native typedArray.fill() when filling with a number instead of calling into the binding fill function.

Benchmark results:

                                                                            confidence improvement accuracy (*)   (**)  (***)
 buffers/buffer-fill.js n=20000 size=65536 type='fill("")'                        ***      4.72 %       ±0.90% ±1.20% ±1.57%
 buffers/buffer-fill.js n=20000 size=65536 type='fill("t", "utf8")'               ***      3.76 %       ±1.00% ±1.34% ±1.74%
 buffers/buffer-fill.js n=20000 size=65536 type='fill("t", 0, "utf8")'            ***      4.30 %       ±0.74% ±0.99% ±1.29%
 buffers/buffer-fill.js n=20000 size=65536 type='fill("t", 0)'                    ***      5.56 %       ±0.90% ±1.20% ±1.56%
 buffers/buffer-fill.js n=20000 size=65536 type='fill("t")'                       ***      4.51 %       ±1.01% ±1.35% ±1.77%
 buffers/buffer-fill.js n=20000 size=65536 type='fill("test")'                             0.18 %       ±0.50% ±0.67% ±0.87%
 buffers/buffer-fill.js n=20000 size=65536 type='fill(0)'                         ***      4.10 %       ±0.84% ±1.12% ±1.46%
 buffers/buffer-fill.js n=20000 size=65536 type='fill(100)'                       ***      4.75 %       ±0.97% ±1.30% ±1.69%
 buffers/buffer-fill.js n=20000 size=65536 type='fill(400)'                       ***      5.17 %       ±1.12% ±1.50% ±1.95%
 buffers/buffer-fill.js n=20000 size=65536 type='fill(Buffer.alloc(1), 0)'                -0.50 %       ±0.66% ±0.88% ±1.15%
 buffers/buffer-fill.js n=20000 size=8192 type='fill("")'                         ***     17.23 %       ±1.65% ±2.20% ±2.86%
 buffers/buffer-fill.js n=20000 size=8192 type='fill("t", "utf8")'                ***     12.32 %       ±1.62% ±2.18% ±2.87%
 buffers/buffer-fill.js n=20000 size=8192 type='fill("t", 0, "utf8")'             ***     13.12 %       ±2.05% ±2.73% ±3.56%
 buffers/buffer-fill.js n=20000 size=8192 type='fill("t", 0)'                     ***     18.16 %       ±1.00% ±1.33% ±1.74%
 buffers/buffer-fill.js n=20000 size=8192 type='fill("t")'                        ***     12.18 %       ±1.64% ±2.18% ±2.86%
 buffers/buffer-fill.js n=20000 size=8192 type='fill("test")'                             -0.34 %       ±1.20% ±1.59% ±2.08%
 buffers/buffer-fill.js n=20000 size=8192 type='fill(0)'                          ***     26.16 %       ±2.99% ±3.99% ±5.21%
 buffers/buffer-fill.js n=20000 size=8192 type='fill(100)'                        ***     28.79 %       ±1.14% ±1.52% ±1.98%
 buffers/buffer-fill.js n=20000 size=8192 type='fill(400)'                        ***     28.91 %       ±1.20% ±1.60% ±2.08%
 buffers/buffer-fill.js n=20000 size=8192 type='fill(Buffer.alloc(1), 0)'                 -0.40 %       ±1.31% ±1.75% ±2.28%
Checklist

<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

  • [x] make -j4 test (UNIX), or vcbuild test (Windows) passes
  • [x] commit message follows commit guidelines

<!-- Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. -->

+26 -5

6 comments

1 changed file

mscdex

pr closed time in 23 days

push eventnodejs/node

Brian White

commit sha 59cba9a5c20c4a9fee34a3f6601025666aa6f9f6

buffer: improve fill(number) performance PR-URL: https://github.com/nodejs/node/pull/31489 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

view details

push time in 23 days

push eventmscdex/io.js

Rich Trott

commit sha d32a71542e883c0273ef6fed612f63ac57d20eff

doc: fix code display in header glitch Fixes: https://github.com/nodejs/node/issues/31451 PR-URL: https://github.com/nodejs/node/pull/31460 Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Geoffrey Booth <webmaster@geoffreybooth.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>

view details

cjihrig

commit sha 748eae93c6c27087113c22f43c9690ee573162d1

test: add tests for main() argument handling This test provides missing coverage for __wasi_args_get() and __wasi_args_sizes_get(), which translate to argc and argv in WASI applications. PR-URL: https://github.com/nodejs/node/pull/31426 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>

view details

Anna Henningsen

commit sha d6f1e395ca74c34c3729d5089f9dbe5e41eab3da

http: make --insecure-http-parser configurable per-stream or per-server From the issue: > Some servers deviate from HTTP spec enougth that Node.js can't > communicate with them, but "work" when `--insecure-http-parser` > is enabled globally. It would be useful to be able to use this > mode, as a client, only when connecting to known bad servers. This is largely equivalent to https://github.com/nodejs/node/pull/31446 in terms of code changes. Fixes: https://github.com/nodejs/node/issues/31440 Refs: https://github.com/nodejs/node/pull/31446 PR-URL: https://github.com/nodejs/node/pull/31448 Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Robert Nagy

commit sha 8d14a8cbcee313591138d233e9944664ea6186bc

doc: add ronag to collaborators PR-URL: https://github.com/nodejs/node/pull/31498 Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>

view details

Robert Nagy

commit sha 4fefd181c759f3e8a7297bb3f9203d2c7841b14a

doc: further fix async iterator example Further fixes an issue with the async iterator example where an incorrect assumption was made in regards that drain or error is always invoked after !write(). Fixes: https://github.com/nodejs/node/issues/31365 PR-URL: https://github.com/nodejs/node/pull/31367 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>

view details

Eran Levin

commit sha 67e067eb0658281b647ff68a5a9e64ea2cfdb706

fs: watch signals for recursive incompatibility This pull request makes fs.watch throw exception, whenever it is used in an incompatible platform. For this change following changes were made to api: 1.a new error type has been introduced. 2.fs.watch has been changed accordingly. Users who use recursive on non-windows and osx platforms, will face a new exception. For this reason, it's a breaking change. Fixes: https://github.com/nodejs/node/issues/29901 PR-URL: https://github.com/nodejs/node/pull/29947 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Ruben Bridgewater

commit sha 725682cc509527cfaff0c25450d17ed92c470024

util: fix inspection of typed arrays with unusual length This makes sure `util.inspect()` does not throw in case the typed array's length property was set to something invalid. Instead, always use the original information. PR-URL: https://github.com/nodejs/node/pull/31458 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Anna Henningsen

commit sha 278d37d90d8cd208ee9cd402c3f256b192460f09

test: fix test-heapdump-worker This test was broken by de2c68c7dd17a217a818ea881e433034006fdb4b. Refs: https://github.com/nodejs/node/pull/31386 PR-URL: https://github.com/nodejs/node/pull/31494 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Denys Otrishko

commit sha 08f57265b5c58c16af9e93510cda39462ecf2713

src: reduce code duplication in BootstrapNode PR-URL: https://github.com/nodejs/node/pull/31465 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Alexander Smarus

commit sha 3188afebf472976460f54559e205b6e18af0343f

src: define noreturn attribute for windows PR-URL: https://github.com/nodejs/node/pull/31467 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

cjihrig

commit sha 05d350a3605299b2394f346cecc2d02b644698c5

deps: upgrade to libuv 1.34.2 Notable changes: - SetApplicationDaemon() is no longer called on macOS. - uv_interface_addresses() is implemented on IBMi. - The return value of uv__open_cloexec() is now handled properly. - A race condition in fsevents has been fixed. Fixes: https://github.com/nodejs/node/issues/31328 Fixes: https://github.com/nodejs/help/issues/2099 PR-URL: https://github.com/nodejs/node/pull/31477 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Denys Otrishko

commit sha f2d5173b9deb7980b6f90d68c4d7a7b132422070

doc: clean up and streamline vm.md examples PR-URL: https://github.com/nodejs/node/pull/31474 Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Daniel Bevenius

commit sha 3ff2aeceba88928f1aa33fe3ff1cc9bf84da739b

src: ignore GCC -Wcast-function-type for v8.h This commit suggests that cast-function-type warnings be ignored from v8.h. Currently, GCC reports a number of warnings like this: In file included from ../src/util.h:27, from ../src/aliased_buffer.h:7, from ../src/memory_tracker.h:5, from ../src/base_object.h:27, from ../src/async_wrap.h:27, from ../src/req_wrap.h:6, from ../src/req_wrap-inl.h:6, from ../src/connect_wrap.h:6, from ../src/connect_wrap.cc:1: ../deps/v8/include/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak( P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::BaseObject; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::BaseObject>&)]’: ../src/base_object-inl.h:123:42: required from here ../deps/v8/include/v8.h:10374:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::BaseObject>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::BaseObject>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] reinterpret_cast<Callback>(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The motivation for doing this that it makes it difficult to spot other warnings that might be important. Since it is v8 that performs this cast I was not able to find a way around it. PR-URL: https://github.com/nodejs/node/pull/31475 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Gabriel Schulhof

commit sha 42995a3a116fd40e54b7f594ea60dd60163ae0c4

test: cover property n-api null cases Add test coverage for passing `NULL` to each parameter of `napi.*(propert|element)` and `napi_set_prototype`. In the case of `napi_define_properties` also test setting various initializer fields to `NULL`. PR-URL: https://github.com/nodejs/node/pull/31488 Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Rich Trott

commit sha 97ac66130294aa112e587c86d2cd28a94bbe4ecd

doc: enable visual code indication in headers This enables the grey background for inline code in headers. Refs: https://github.com/nodejs/node/pull/31460#issuecomment-577154740 PR-URL: https://github.com/nodejs/node/pull/31493 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Geoffrey Booth <webmaster@geoffreybooth.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>

view details

Robert Nagy

commit sha 90e6e18f33d1f0f9e4d9775ee283b9a5f2642959

stream: add async iterator support for v1 streams PR-URL: https://github.com/nodejs/node/pull/31316 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>

view details

Robert Nagy

commit sha a6d63c44a2b3273d4e09576c52011e3197d6a4b3

stream: normalize async iterator stream destroy PR-URL: https://github.com/nodejs/node/pull/31316 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>

view details

Robert Nagy

commit sha 2c54459378039199d8362b3109908a0dd29aa2b3

stream: implement throw for async iterator PR-URL: https://github.com/nodejs/node/pull/31316 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>

view details

Robert Nagy

commit sha c6bf9539cc1645fe768bff6ce2eee85636d341a7

stream: simplify pipeline PR-URL: https://github.com/nodejs/node/pull/31316 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>

view details

Robert Nagy

commit sha 07915db233dcb03ea9586086cc4f599b96fa9000

stream: re-use legacy destroyer PR-URL: https://github.com/nodejs/node/pull/31316 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>

view details

push time in 23 days

PR merged nodejs/node

deps: switch to chromium's zlib implementation baking-for-lts lts-watch-v12.x performance zlib

This implementation provides optimizations not included upstream.

Benchmark results:

                                                                         confidence improvement accuracy (*)    (**)   (***)
 zlib/createInflate.js n=100 chunkLen=1024 inputLen=16777216                   ***    328.08 %       ±9.21% ±12.28% ±16.05%
 zlib/deflate.js n=400000 inputLen=1024 method='createDeflate'                 ***     18.85 %       ±1.01%  ±1.35%  ±1.75%
 zlib/deflate.js n=400000 inputLen=1024 method='deflate'                         *      1.14 %       ±1.13%  ±1.51%  ±1.96%
 zlib/deflate.js n=400000 inputLen=1024 method='deflateSync'                     *      0.55 %       ±0.50%  ±0.66%  ±0.86%
 zlib/inflate.js n=400000 inputLen=1024 method='inflate'                       ***      6.05 %       ±1.33%  ±1.78%  ±2.34%
 zlib/inflate.js n=400000 inputLen=1024 method='inflateSync'                   ***     17.64 %       ±1.07%  ±1.43%  ±1.86%
 zlib/pipe.js algorithm='gzip' type='buffer' duration=5 inputLen=1024          ***     17.52 %       ±0.96%  ±1.28%  ±1.67%
 zlib/pipe.js algorithm='gzip' type='string' duration=5 inputLen=1024          ***     16.19 %       ±1.02%  ±1.36%  ±1.78%
Checklist

<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

  • [x] make -j4 test (UNIX), or vcbuild test (Windows) passes
  • [x] tests and/or benchmarks are included
  • [x] commit message follows commit guidelines

<!-- Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. -->

+11399 -39711

29 comments

266 changed files

mscdex

pr closed time in 23 days

push eventnodejs/node

Brian White

commit sha 886965963ac55825e91887e973226ef010f8fc64

deps: switch to chromium's zlib implementation This implementation provides optimizations not included upstream. PR-URL: https://github.com/nodejs/node/pull/31201 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>

view details

push time in 23 days

push eventmscdex/io.js

ZYSzys

commit sha 66310c2b78df24ec79668dc30e4df675c978a9be

http2: set default enableConnectProtocol to 0 PR-URL: https://github.com/nodejs/node/pull/31174 Refs: https://tools.ietf.org/html/rfc8441#section-9.1 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Thang Tran

commit sha 783f8c626ce363a2b42c74dbc271c79d229cded1

test: change buffer offset to accommodate V8 BackingStore To avoid problem with the behavior of new V8 BackingStore API, change the offset. The base address of each test case will be different. Fixes: https://github.com/nodejs/node/issues/31061 PR-URL: https://github.com/nodejs/node/pull/31171 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

dnlup

commit sha 57a1ca99abea8a58fc9870896fc3aca374cdb6cc

benchmark: use let instead of var in dgram PR-URL: https://github.com/nodejs/node/pull/31175 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: David Carlier <devnexen@gmail.com>

view details

Robert Nagy

commit sha 66f4e4edcbf0f4d32e050793b25d99cfa546e11f

stream: do not emit 'end' after 'error' Refs: https://github.com/nodejs/node/issues/6083 PR-URL: https://github.com/nodejs/node/pull/31182 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

himself65

commit sha 714eb919cc497307b57e176547ba83fe85656a58

wasi: refactor destructuring object on constructor PR-URL: https://github.com/nodejs/node/pull/31185 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>

view details

Anna Henningsen

commit sha 20fd12310f3c82dbd45bc2161fa0a73bf823fe9e

lib: move initialization of APIs for changing process state Whether these APIs should be available for Node.js instances semantically depends on whether the current Node.js instance was assigned ownership of process-wide state, and not whether it refers to the main thread or not. PR-URL: https://github.com/nodejs/node/pull/31172 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: David Carlier <devnexen@gmail.com>

view details

Geoffrey Booth

commit sha 2551a21553d06e85790bdc96c6f1d528d0695d76

module: loader getSource, getFormat, transform hooks PR-URL: https://github.com/nodejs/node/pull/30986 Reviewed-By: Guy Bedford <guybedford@gmail.com> Reviewed-By: Bradley Farias <bradley.meck@gmail.com>

view details

Guy Bedford

commit sha 405e7b45575ef39264067e68ee4ef5db466eebb2

module: logical conditional exports ordering PR-URL: https://github.com/nodejs/node/pull/31008 Reviewed-By: Bradley Farias <bradley.meck@gmail.com> Reviewed-By: Jan Krems <jan.krems@gmail.com>

view details

Robert Nagy

commit sha b9e6c1bcb2767e9dea634ae17d5632a3b5f0e368

stream: sync stream unpipe resume pipe() ondata should not control flow state if cleaned up. Fixes: https://github.com/nodejs/node/issues/31190 PR-URL: https://github.com/nodejs/node/pull/31191 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Beth Griggs

commit sha f5512ff61ecb668c2f49b7c05d3227ef7aa5e85f

2020-01-07, Version 12.14.1 'Erbium' (LTS) Notable changes: - crypto: fix key requirements in asymmetric cipher (Tobias Nießen) https://github.com/nodejs/node/pull/30249 - deps: - update llhttp to 2.0.1 (Fedor Indutny) https://github.com/nodejs/node/pull/30553 - update nghttp2 to 1.40.0 (gengjiawen) https://github.com/nodejs/node/pull/30493 - v8: mark serdes API as stable (Anna Henningsen) https://github.com/nodejs/node/pull/30234 PR-URL: https://github.com/nodejs/node/pull/31069

view details

Denys Otrishko

commit sha 837e5af551a783e3627efd4e8a593dbf6e5cd947

src: clean up large_pages code PR-URL: https://github.com/nodejs/node/pull/31196 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

view details

Sebastien Ahkrin

commit sha 4f51c12d41cb8a0ecfb35003e509bb42c0095f38

lib: replace BigUInt64Array global by the primordials PR-URL: https://github.com/nodejs/node/pull/31194 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Sebastien Ahkrin

commit sha 92cef79779d121d934dcb161c068bdac35e6a963

lib: replace Float32Array global by the primordials PR-URL: https://github.com/nodejs/node/pull/31195 Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Ruben Bridgewater

commit sha e908323b7e081a29c45e8447f9eb38c911a9a89b

2020-01-07, Version v13.6.0 (Current) Notable changes: * assert: * Implement `assert.match()` and `assert.doesNotMatch()` (Ruben Bridgewater) https://github.com/nodejs/node/pull/30929 * events: * Add `EventEmitter.on` to async iterate over events (Matteo Collina) https://github.com/nodejs/node/pull/27994 * Allow monitoring error events (Gerhard Stoebich) https://github.com/nodejs/node/pull/30932 * fs: * Allow overriding `fs` for streams (Robert Nagy) https://github.com/nodejs/node/pull/29083 * perf_hooks: * Move `perf_hooks` out of experimental (legendecas) https://github.com/nodejs/node/pull/31101 * repl: * Implement ZSH-like reverse-i-search (Ruben Bridgewater) https://github.com/nodejs/node/pull/31006 * tls: * Add PSK (pre-shared key) support (Denys Otrishko) https://github.com/nodejs/node/pull/23188 PR-URL: https://github.com/nodejs/node/pull/31238

view details

cjihrig

commit sha b8922e8924a3da170878c9982342258f5deb0a7f

wasi: improve use of primordials PR-URL: https://github.com/nodejs/node/pull/31212 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Sebastien Ahkrin

commit sha a494d127236d09e4413631c33ee95c1324eb8814

lib: add RegExp primordials PR-URL: https://github.com/nodejs/node/pull/31208 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>

view details

cjihrig

commit sha ba98d9ab2c7ca03fdd2016818628610c42a04b56

lib,tools,test: remove custom number-isnan rule This commit removes the custom number-isnan ESLint rule in favor of the no-restricted-syntax rule. It also applies the rule across the entire codebase, instead of just the test/ directory. PR-URL: https://github.com/nodejs/node/pull/31211 Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Harshitha KP

commit sha 95871a1ed70658d14ee6dbfa62c706ddbe28040d

doc: explain native external types There is a reference to native external types in util.types.isExternal api documentation. Provide a brief explanation to that. Refs: https://github.com/nodejs/node/pull/31173#discussion_r362816411 PR-URL: https://github.com/nodejs/node/pull/31214 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

view details

legendecas

commit sha 96eceb75198e53b16e786248a8ca1e7d0d92e209

doc,src: clarify that one napi_env is per-module PR-URL: https://github.com/nodejs/node/pull/31102 Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>

view details

SpaceRacet5w2A6l0I

commit sha bd6d6512f02d6fa10a0484577c270bb44f1b750b

build: avoid using CMP for BZ2File Some Python distributions do not support context manager protocol (CMP) for BZ2File. PR-URL: https://github.com/nodejs/node/pull/31198 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Christian Clauss <cclauss@me.com>

view details

push time in 23 days

more