Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v10.1.0 proposal #20606

Merged
merged 173 commits into from
May 9, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
173 commits
Select commit Hold shift + click to select a range
cd83df3
n-api: initialize a module via a special symbol
Apr 21, 2018
a4dae6c
src: prefer false instead of bool zero
danbev Apr 23, 2018
bd2e521
src: rename return var in VerifySpkac functions
danbev Apr 23, 2018
9eacd66
lib: make sure `console` is writable
kfarnung Apr 21, 2018
b5584c4
tools: modernize and optimize doc/addon-verify.js
vsemozhetbyt Apr 21, 2018
c5b3459
build: use -9 with `kill` in Makefile
Trott Apr 21, 2018
3bc5353
doc: fix spelling of API name in 10.0.0 changelog
tniessen Apr 24, 2018
26525ef
doc: fix typos in doc/changelogs/CHANGELOG_V10.md
vsemozhetbyt Apr 24, 2018
99e0b91
test: add checkMethods function for Certificate
danbev Apr 23, 2018
6bf816f
src: limit foreground tasks draining loop
ulan Apr 12, 2018
171cbb1
doc: fix net.Socket link inconsistencies
Hackzzila Apr 25, 2018
3bf736e
doc: update pull request template in guide
Hackzzila Apr 25, 2018
d4b19cf
test,n-api: re-write test_error in C
Apr 24, 2018
b239591
n-api,test: make methods static
Apr 24, 2018
b5bc6bd
src: fix Systemtap node_gc_stop probe
wcohen Apr 19, 2018
c9b202f
doc: add emitter.off() to events.md
Ajido Apr 25, 2018
7f6172b
doc: improve docs for Http2Session:frameError
ryzokuken Apr 23, 2018
391d2f8
crypto: simplify diffiehellman getFormat function
danbev Apr 24, 2018
e81bb9f
crypto: add getIntOption function to reduce dupl
danbev Apr 24, 2018
61e9396
crypto: add checkIsArrayBufferView
danbev Apr 24, 2018
e17280e
crypto: make pbkdf2 use checkIsArrayBufferView
danbev Apr 25, 2018
769b6c8
test: fix flaky child-process-exec-kill-throws
santigimeno Apr 22, 2018
2de3343
n-api,test: make method static
Apr 25, 2018
8d24b6e
n-api: update cli documentation
Apr 25, 2018
b5c1c14
n-api,test: remove superfluous persistent
Apr 25, 2018
375994f
inspector: Use default uv_listen backlog size
Apr 24, 2018
1385ffc
http: added aborted property to request
ronag Apr 17, 2018
61a56fe
test: added coverage for fs/promises API
mithunsasidharan Apr 23, 2018
b646566
test: removed assert.strictEqual message
kailashyogeshwar85 Apr 23, 2018
81de533
src: create per-isolate strings after platform setup
ulan Apr 20, 2018
c139d2a
doc: fix unhandled to uncaught
BridgeAR Apr 25, 2018
3a3144c
doc: remove os.uptime() Windows note
cjihrig Apr 25, 2018
44fdd36
src: remove SecureContext `_external` getter
addaleax Apr 23, 2018
705d9ec
n-api: remove unused Test function
danbev Apr 26, 2018
14188b1
doc: add Slack community to support options
hackygolucky Jan 16, 2018
1490164
inspector: allow concurrent inspector sessions
Apr 24, 2018
ab13f13
tools: show stdout/stderr for timed out tests
Trott Apr 24, 2018
cc09d7e
doc: remove console.table() as inspector-dependent
Trott Apr 26, 2018
73cd279
tls: specify options.name in validateKeyCert
danbev Apr 25, 2018
d9bc921
doc: fix typo in console.md
dhritzkiv Apr 27, 2018
701f536
doc: remove superfluous URL require statement
MarkTiedemann Apr 27, 2018
2ce4b7c
build: do not depend on `cp` in `PATH`
addaleax Apr 25, 2018
e0d2bc5
src: improve fatal exception
BridgeAR Apr 25, 2018
f0b2b26
http: refactor outgoing headers processing
apapirovski Apr 24, 2018
b47044a
doc: improve parameters for Http2Session:goaway event
ryzokuken Apr 26, 2018
8ddbac2
tools: add log output to crashes
BridgeAR Apr 25, 2018
a12d13a
tools: simplify HTML generation
vsemozhetbyt Apr 25, 2018
9c11a18
doc: remove eu-strip from tarball
jvelezpo Apr 25, 2018
ccf1b24
tools: remove redundant RegExp flag
vsemozhetbyt Apr 25, 2018
be34388
doc: unify and dedupe returned values in timers.md
vsemozhetbyt Apr 25, 2018
29bc735
console: fix console.table() display edge case
Trott Apr 26, 2018
3962c73
util: fix isInsideNodeModules inside error
apapirovski Apr 24, 2018
31812ed
src: remove unnecessary copy operations in tracing
addaleax Apr 27, 2018
b0e6f10
benchmark: add bench for zlib gzip + gunzip cycle
addaleax Apr 14, 2018
fd912a3
stream: only check options once in Duplex ctor
danbev Apr 27, 2018
e45e5b8
fs: point isFd to isUint32
danbev Apr 26, 2018
9b30bc4
tls: fix getEphemeralKeyInfo to support X25519
shigeki Apr 25, 2018
46bd862
http2: fix responses to long payload reqs
apapirovski Apr 16, 2018
9cf3ae5
doc: add missing backticks in n-api.md
vsemozhetbyt Apr 28, 2018
57e5a3e
doc: remove redundant empty lines
vsemozhetbyt Apr 29, 2018
ec2037d
child_process: fix leak when passing http sockets
santigimeno Apr 19, 2018
f5054d3
assert: minor error message improvements
BridgeAR Apr 26, 2018
7293c58
assert: make skipping indicator blue
BridgeAR Apr 26, 2018
90026c3
doc: improve assert docs
BridgeAR Apr 26, 2018
5542a98
doc: improve process event headers
BridgeAR Apr 26, 2018
7d9f1f3
http2: fix ping callback
BridgeAR Apr 26, 2018
645a97a
test: verify arguments length in common.expectsError
BridgeAR Apr 26, 2018
2b8b40f
test: fix a TODO and remove obsolete TODOs
BridgeAR Apr 26, 2018
348d391
build: remove --xcode configure switch
bnoordhuis Apr 26, 2018
05b7b8d
stream: fix error handling with async iteration
julien-f Apr 26, 2018
de9d1f1
doc: remove parenthetical in onboarding-extras
Trott Apr 29, 2018
58be6ef
src: avoid `std::make_unique`
addaleax Apr 28, 2018
b89d817
errors: minor (SystemError) refactoring
BridgeAR Apr 26, 2018
dfcf20f
crypto: use new OpenSSL constants in CipherBase
tniessen Apr 26, 2018
b61ae7f
doc: remove "has been known" tentativeness
Trott Apr 30, 2018
d7557e1
doc: refine napi_get_property_names() doc
Apr 29, 2018
7ac491b
n-api: document that native strings are copied
Apr 28, 2018
1908668
n-api: document the look of napi_external values
Apr 28, 2018
4bc87c1
doc: add parameters for settings events
ryzokuken Apr 27, 2018
f36a5e3
doc: remove redundant table of contents for N-API
AyushG3112 Apr 29, 2018
459c20c
doc: edit fs.createReadStream() highWaterMark
Trott May 1, 2018
5a839b9
doc: remove unclear text from fs.write()
Trott May 1, 2018
fcc5492
doc: clarify FileHandle text
Trott May 1, 2018
b0c0352
tools: dedupe property access in doc/type-parser
vsemozhetbyt Apr 28, 2018
54e9331
doc: specify types of listener parameter
vsemozhetbyt Apr 29, 2018
261776d
doc: mitigate `marked` bug
vsemozhetbyt Apr 29, 2018
abf1155
doc: add missing periods or colons
vsemozhetbyt Apr 29, 2018
b2bbc36
http2: remove unused using declarations node_http2
danbev Apr 30, 2018
e397d19
http2: remove unnecessary v8 qualified names
danbev Apr 30, 2018
42bbaa3
http2: reduce require calls in http2/core
danbev Apr 30, 2018
da8bc6a
deps: cherry-pick 76cab5f from upstream V8
targos Apr 27, 2018
ad793ab
n-api: test and doc napi_throw() of a primitive
Apr 29, 2018
56c27c6
doc: add more missing backticks
vsemozhetbyt Apr 29, 2018
166df9e
doc: remove squash guideline from onboarding doc
Trott Apr 30, 2018
7a769eb
doc: add squash guideline to pull-requests doc
Trott Apr 30, 2018
289e4ce
benchmark: fix next-tick-depth
apapirovski May 2, 2018
658fbdc
doc: add http.ClientRequest maxHeadersCount
darai0512 Apr 23, 2018
3912551
tools: fix TypeError from `test.py --time`
richardlau Apr 27, 2018
b0ed31c
doc: update writing-and-running-benchmarks.md
xsbchen Apr 28, 2018
e552158
timers: named anonymous functions
js-kyle Apr 29, 2018
b5931e1
child_process: name anonymous functions
SerayaEryn Apr 29, 2018
b24ee07
test: remove unnecessary strictEqual() argument from remoteClose()
dayloryanes Apr 26, 2018
4dce39a
test: use fs.copyFileSync()
richardlau Apr 26, 2018
74685f1
doc: add missing periods in documentation.md
vsemozhetbyt May 2, 2018
58a65d6
events: optimize condition for optimal scenario
apapirovski May 1, 2018
e854c95
util: improve spliceOne perf
apapirovski May 1, 2018
8b17e7a
doc: update cli flag in crypto.md
shobhitchittora Apr 29, 2018
391c420
doc: synchronize argument names for appendFile()
Trott May 3, 2018
1b9c40c
util: named anonymous functions
ccoxwell Apr 29, 2018
b6de6a7
lib: named anonymous functions
ccoxwell Apr 30, 2018
e553747
doc: update Collaborator Guide reference
Trott May 2, 2018
b2d6eb7
doc: cleanup n-api.md doc
mhdawson Apr 30, 2018
c0f1535
src: remove `kFlagNoShutdown` flag
addaleax Apr 28, 2018
c21a52f
src: access `ContextifyContext*` more directly in property cbs
addaleax May 1, 2018
f5d4253
src: refactor `BaseObject` internal field management
addaleax May 1, 2018
d7db306
doc: update examples for fs.access()
BeniCheni May 1, 2018
17dbf6c
n-api: make test_error functions static
Apr 27, 2018
3cf53b6
deps: patch V8 to 6.6.346.27
MylesBorins May 2, 2018
b2e8b9c
doc: fix mkdtemp() documentation
Trott May 4, 2018
745e0a5
doc: document using `domain` in REPL
AyushG3112 Apr 28, 2018
80bdff0
test: add fs/promises filehandle stat test
May 3, 2018
d3a219c
repl: add spaces to load/save messages
cjihrig May 5, 2018
6052ccc
test: rename misnamed test
Trott May 5, 2018
70b2e16
test: fix up N-API error test
May 3, 2018
54f3065
src: fix inconsistency in extern declaration
hashseed Apr 30, 2018
167de1f
build: check for different deprecation signatures
BridgeAR Apr 28, 2018
79e1260
doc: fix manpage warning
kapouer Apr 28, 2018
0b16c24
https: defines maxHeadersCount in the constructor
darai0512 Apr 22, 2018
df2cddc
src: removed unnecessary prototypes from Environment::SetProtoMethod
brandontruggles Apr 26, 2018
1de67c7
test: fix common.canCreateSymLink() on non-Windows
May 4, 2018
7b8e9ca
lib: expose FixedQueue internally and fix nextTick bug
apapirovski May 2, 2018
1ebec18
tls: cleanup onhandshakestart callback
apapirovski May 2, 2018
16970ff
benchmark: track exec time in next-tick-exec
apapirovski May 2, 2018
880772a
doc: fix N-API property descriptor documentation
Apr 30, 2018
8bd45d8
doc: updates crypto doc with openssl list -cipher-algorithms
shobhitchittora May 3, 2018
1109104
tls: remove sharedCreds in Server constructor
danbev May 3, 2018
e25f2c9
errors: remove dead code
BridgeAR May 2, 2018
6acefc3
http2: rename http2_state class to Http2State
danbev Apr 30, 2018
018b5ad
doc: add snake_case section for C-like structs
danbev May 2, 2018
d357875
src: add public API to expose the main V8 Platform
helloshuangzi May 1, 2018
bea4ffc
doc: update one more command in crypto.md
shobhitchittora May 3, 2018
4c4be85
Revert "stream: prevent 'end' to be emitted after 'error'"
mscdex May 1, 2018
ff619d3
url: fix WHATWG host formatting error
peakji May 3, 2018
a4d2089
tools: remove redundant code in doc/html.js
vsemozhetbyt May 4, 2018
98ccaea
doc: clearer doc-only deprecations
BridgeAR Apr 28, 2018
601f138
test: fix buffer writes on mips
BridgeAR Apr 27, 2018
578e054
test: fix test-cli-node-options.js on mips
BridgeAR Apr 28, 2018
0e88051
doc: add parameters for Http2Session:stream event
ryzokuken May 5, 2018
67e44bf
doc: edit text for DEP0104
Trott May 4, 2018
adf5b80
doc: edit text for DEP0101
Trott May 4, 2018
c6e4ffa
doc: edit text for DEP0012
Trott May 4, 2018
74c74db
doc: edit text for DEP0094
Trott May 4, 2018
f796b08
doc: fix text for DEP0085
Trott May 4, 2018
faa8193
doc: edit text for DEP0082
Trott May 4, 2018
73f5ea9
doc: fix minor typographical error in DEP0079 text
Trott May 4, 2018
b2b4871
doc: minor edit to DEP0065
Trott May 4, 2018
eed3f10
doc: edit text for DEP0013
Trott May 4, 2018
01560b6
doc: edit text about revoking deprecations
Trott May 4, 2018
70586c0
doc: excise "periodically" before "emit events"
jeswcollins May 7, 2018
8148fca
doc: update "Who to cc..." in COLLABORATOR_GUIDE
vsemozhetbyt May 6, 2018
0b5dd10
fs: move fs/promises to fs.promises
cjihrig May 3, 2018
ec65fe4
doc: add trace category for fs sync methods
chinhuang007 May 4, 2018
a7758c7
console: make console.table() use colored inspect
makenowjust May 4, 2018
bd27a59
doc: move tunniclm to Emeritus
Trott May 5, 2018
eb724f0
fs: remove broken code in promises/write
ChALkeR Apr 29, 2018
eb483db
fs: fchmod->fchown in promises/lchown
ChALkeR Apr 29, 2018
e995ae5
doc: clarify `this` in event listeners
dagolinuxoid May 5, 2018
2a1efa2
tools: add v10 to alternative version docs menu
vsemozhetbyt May 7, 2018
b2d3db4
test: use common.canCreateSymLink() consistently
cjihrig May 5, 2018
f7267b4
tools: add eslint check for skipIfEslintMissing
richardlau Apr 27, 2018
05ce635
doc: match console.count()/countReset() signatures
Lambdac0re May 8, 2018
e19200a
test: fix flaky http2-flow-control test
apapirovski May 6, 2018
687867d
2018-05-08, Version 10.1.0 (Current)
MylesBorins May 8, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -127,3 +127,4 @@ deps/v8/src/Debug/
deps/v8/src/Release/
deps/v8/src/inspector/Debug/
deps/v8/src/inspector/Release/
deps/v8/third_party/eu-strip/
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ release.
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V10.md#10.0.0">10.0.0</a></b><br/>
<b><a href="doc/changelogs/CHANGELOG_V10.md#10.1.0">10.1.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V10.md#10.0.0">10.0.0</a><br/>
</td>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V9.md#9.11.1">9.11.1</a></b><br/>
Expand Down
26 changes: 13 additions & 13 deletions COLLABORATOR_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -416,14 +416,15 @@ longer be used.

Node.js uses three Deprecation levels:

* *Documentation-Only Deprecation* refers to elements of the Public API that are
being staged for deprecation in a future Node.js major release. An explicit
notice indicating the deprecated status is added to the API documentation
but no functional changes are implemented in the code. There will be no
runtime deprecation warnings emitted for such deprecations by default.
Documentation-only deprecations may trigger a runtime warning when Node.js
is started with the [`--pending-deprecation`][] flag or the
`NODE_PENDING_DEPRECATION=1` environment variable is set.
* *Documentation-Only Deprecation* refers to elements of the Public API that
should be avoided by developers and that might be staged for a runtime
deprecation in a future Node.js major release. An explicit notice indicating
the deprecation status is added to the API documentation but no functional
changes are implemented in the code. By default there will be no deprecation
warnings emitted for such deprecations at runtime. Documentation-only
deprecations may trigger a runtime warning when Node.js is started with the
[`--pending-deprecation`][] flag or the `NODE_PENDING_DEPRECATION=1`
environment variable is set.

* *Runtime Deprecation* refers to the use of process warnings emitted at
runtime the first time that a deprecated API is used. A command-line
Expand Down Expand Up @@ -489,8 +490,7 @@ The TSC should serve as the final arbiter where required.
1. Never use GitHub's green ["Merge Pull Request"][] button. Reasons for not
using the web interface button:
* The merge method will add an unnecessary merge commit.
* The squash & merge method has been known to add metadata to the commit
title (the PR #).
* The squash & merge method can add metadata (the PR #) to the commit title.
* If more than one author has contributed to the PR, keep the most recent
author when squashing.
1. Make sure the CI is done and the result is green. If the CI is not green,
Expand Down Expand Up @@ -832,7 +832,6 @@ LTS working group and the Release team.
| Subsystem | Maintainers |
| --- | --- |
| `benchmark/*` | @nodejs/benchmarking, @mscdex |
| `bootstrap_node.js` | @nodejs/process |
| `doc/*`, `*.md` | @nodejs/documentation |
| `lib/assert` | @nodejs/testing |
| `lib/async_hooks` | @nodejs/async\_hooks for bugs/reviews (+ @nodejs/diagnostics for API) |
Expand All @@ -845,20 +844,21 @@ LTS working group and the Release team.
| `lib/fs`, `src/{fs,file}` | @nodejs/fs |
| `lib/{_}http{*}` | @nodejs/http |
| `lib/inspector.js`, `src/inspector_*` | @nodejs/V8-inspector |
| `lib/internal/bootstrap/*` | @nodejs/process |
| `lib/internal/url`, `src/node_url` | @nodejs/url |
| `lib/net` | @bnoordhuis, @indutny, @nodejs/streams |
| `lib/repl` | @nodejs/repl |
| `lib/{_}stream{*}` | @nodejs/streams |
| `lib/timers` | @nodejs/timers |
| `lib/util` | @nodejs/util |
| `lib/zlib` | @nodejs/zlib |
| `src/async-wrap.*` | @nodejs/async\_hooks |
| `src/async_wrap.*` | @nodejs/async\_hooks |
| `src/node_api.*` | @nodejs/n-api |
| `src/node_crypto.*` | @nodejs/crypto |
| `test/*` | @nodejs/testing |
| `tools/node_modules/eslint`, `.eslintrc` | @nodejs/linting |
| build | @nodejs/build |
| `src/module_wrap.*`, `lib/internal/loader/*`, `lib/internal/vm/Module.js` | @nodejs/modules |
| `src/module_wrap.*`, `lib/internal/modules/*`, `lib/internal/vm/module.js` | @nodejs/modules |
| GYP | @nodejs/gyp |
| performance | @nodejs/performance |
| platform specific | @nodejs/platform-{aix,arm,freebsd,macos,ppc,smartos,s390,windows} |
Expand Down
10 changes: 10 additions & 0 deletions CPP_STYLE_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
* [CamelCase for methods, functions, and classes](#camelcase-for-methods-functions-and-classes)
* [snake\_case for local variables and parameters](#snake_case-for-local-variables-and-parameters)
* [snake\_case\_ for private class fields](#snake_case_-for-private-class-fields)
* [snake\_case\_ for C-like structs](#snake_case_-for-c-like-structs)
* [Space after `template`](#space-after-template)
* [Memory Management](#memory-management)
* [Memory allocation](#memory-allocation)
Expand Down Expand Up @@ -147,6 +148,15 @@ class Foo {
};
```

## snake\_case\_ for C-like structs
For plain C-like structs snake_case can be used.

```c++
struct foo_bar {
int name;
}
```

## Space after `template`

```c++
Expand Down
12 changes: 6 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -393,7 +393,7 @@ clear-stalled:
ps awwx | grep Release/node | grep -v grep | cat
@PS_OUT=`ps awwx | grep Release/node | grep -v grep | awk '{print $$1}'`; \
if [ "$${PS_OUT}" ]; then \
echo $${PS_OUT} | xargs kill; \
echo $${PS_OUT} | xargs kill -9; \
fi

.PHONY: test-gc
Expand Down Expand Up @@ -439,7 +439,7 @@ test-ci-js: | clear-stalled
ps awwx | grep Release/node | grep -v grep | cat
@PS_OUT=`ps awwx | grep Release/node | grep -v grep | awk '{print $$1}'`; \
if [ "$${PS_OUT}" ]; then \
echo $${PS_OUT} | xargs kill; exit 1; \
echo $${PS_OUT} | xargs kill -9; exit 1; \
fi

.PHONY: test-ci
Expand All @@ -454,7 +454,7 @@ test-ci: | clear-stalled build-addons build-addons-napi doc-only
ps awwx | grep Release/node | grep -v grep | cat
@PS_OUT=`ps awwx | grep Release/node | grep -v grep | awk '{print $$1}'`; \
if [ "$${PS_OUT}" ]; then \
echo $${PS_OUT} | xargs kill; exit 1; \
echo $${PS_OUT} | xargs kill -9; exit 1; \
fi

.PHONY: build-ci
Expand Down Expand Up @@ -652,7 +652,7 @@ tools/doc/node_modules/js-yaml/package.json:

gen-json = tools/doc/generate.js --format=json $< > $@
gen-html = tools/doc/generate.js --node-version=$(FULLVERSION) --format=html \
--template=doc/template.html --analytics=$(DOCS_ANALYTICS) $< > $@
--analytics=$(DOCS_ANALYTICS) $< > $@

out/doc/api/%.json: doc/api/%.md
$(call available-node, $(gen-json))
Expand Down Expand Up @@ -813,8 +813,8 @@ release-only:
exit 1 ; \
fi
@if [ "$(DISTTYPE)" != "nightly" ] && [ "$(DISTTYPE)" != "next-nightly" ] && \
`grep -q DEP00XX doc/api/deprecations.md`; then \
echo 'Please update DEP00XX in doc/api/deprecations.md (See doc/releases.md)' ; \
`grep -q DEP...X doc/api/deprecations.md`; then \
echo 'Please update DEP...X in doc/api/deprecations.md (See doc/releases.md)' ; \
exit 1 ; \
fi
@if [ "$(shell git status --porcelain | egrep -v '^\?\? ')" = "" ]; then \
Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ search these unofficial resources:
* [Questions tagged 'node.js' on StackOverflow][]
* [#node.js channel on chat.freenode.net][]. See <http://nodeirc.info/> for more
information.
* [Node.js Slack Community](https://node-js.slack.com/): Visit
[nodeslackers.com](http://www.nodeslackers.com/) to register.

GitHub issues are meant for tracking enhancements and bugs, not general support.

Expand Down Expand Up @@ -512,8 +514,6 @@ For more information about the governance of the Node.js project, see
**Trivikram Kamat** &lt;trivikr.dev@gmail.com&gt;
* [Trott](https://github.com/Trott) -
**Rich Trott** &lt;rtrott@gmail.com&gt; (he/him)
* [tunniclm](https://github.com/tunniclm) -
**Mike Tunnicliffe** &lt;m.j.tunnicliffe@gmail.com&gt;
* [vdeturckheim](https://github.com/vdeturckheim) -
**Vladimir de Turckheim** &lt;vlad2t@hotmail.com&gt; (he/him)
* [vkurchatkin](https://github.com/vkurchatkin) -
Expand Down Expand Up @@ -557,6 +557,8 @@ For more information about the governance of the Node.js project, see
**Alex Kocharin** &lt;alex@kocharin.ru&gt;
* [tellnes](https://github.com/tellnes) -
**Christian Tellnes** &lt;christian@tellnes.no&gt;
* [tunniclm](https://github.com/tunniclm) -
**Mike Tunnicliffe** &lt;m.j.tunnicliffe@gmail.com&gt;

Collaborators follow the [COLLABORATOR_GUIDE.md](./COLLABORATOR_GUIDE.md) in
maintaining the Node.js project.
Expand Down
2 changes: 1 addition & 1 deletion benchmark/events/ee-add-remove.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
const common = require('../common.js');
const events = require('events');

const bench = common.createBenchmark(main, { n: [25e4] });
const bench = common.createBenchmark(main, { n: [1e6] });

function main({ n }) {
const ee = new events.EventEmitter();
Expand Down
2 changes: 1 addition & 1 deletion benchmark/fs/bench-stat-promise.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'use strict';

const common = require('../common');
const fsPromises = require('fs/promises');
const fsPromises = require('fs').promises;

const bench = common.createBenchmark(main, {
n: [20e4],
Expand Down
36 changes: 36 additions & 0 deletions benchmark/http/headers.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
'use strict';

const common = require('../common.js');
const http = require('http');

const bench = common.createBenchmark(main, {
duplicates: [1, 100],
n: [10, 1000],
});

function main({ duplicates, n }) {
const headers = {
'Connection': 'keep-alive',
'Transfer-Encoding': 'chunked',
};

for (var i = 0; i < n / duplicates; i++) {
headers[`foo${i}`] = [];
for (var j = 0; j < duplicates; j++) {
headers[`foo${i}`].push(`some header value ${i}`);
}
}

const server = http.createServer(function(req, res) {
res.writeHead(200, headers);
res.end();
});
server.listen(common.PORT, function() {
bench.http({
path: '/',
connections: 10
}, function() {
server.close();
});
});
}
33 changes: 17 additions & 16 deletions benchmark/process/next-tick-depth-args.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,52 +8,53 @@ const bench = common.createBenchmark(main, {
process.maxTickDepth = Infinity;

function main({ n }) {
let counter = n;
function cb4(arg1, arg2, arg3, arg4) {
if (--n) {
if (n % 4 === 0)
if (--counter) {
if (counter % 4 === 0)
process.nextTick(cb4, 3.14, 1024, true, false);
else if (n % 3 === 0)
else if (counter % 3 === 0)
process.nextTick(cb3, 512, true, null);
else if (n % 2 === 0)
else if (counter % 2 === 0)
process.nextTick(cb2, false, 5.1);
else
process.nextTick(cb1, 0);
} else
bench.end(n);
}
function cb3(arg1, arg2, arg3) {
if (--n) {
if (n % 4 === 0)
if (--counter) {
if (counter % 4 === 0)
process.nextTick(cb4, 3.14, 1024, true, false);
else if (n % 3 === 0)
else if (counter % 3 === 0)
process.nextTick(cb3, 512, true, null);
else if (n % 2 === 0)
else if (counter % 2 === 0)
process.nextTick(cb2, false, 5.1);
else
process.nextTick(cb1, 0);
} else
bench.end(n);
}
function cb2(arg1, arg2) {
if (--n) {
if (n % 4 === 0)
if (--counter) {
if (counter % 4 === 0)
process.nextTick(cb4, 3.14, 1024, true, false);
else if (n % 3 === 0)
else if (counter % 3 === 0)
process.nextTick(cb3, 512, true, null);
else if (n % 2 === 0)
else if (counter % 2 === 0)
process.nextTick(cb2, false, 5.1);
else
process.nextTick(cb1, 0);
} else
bench.end(n);
}
function cb1(arg1) {
if (--n) {
if (n % 4 === 0)
if (--counter) {
if (counter % 4 === 0)
process.nextTick(cb4, 3.14, 1024, true, false);
else if (n % 3 === 0)
else if (counter % 3 === 0)
process.nextTick(cb3, 512, true, null);
else if (n % 2 === 0)
else if (counter % 2 === 0)
process.nextTick(cb2, false, 5.1);
else
process.nextTick(cb1, 0);
Expand Down
4 changes: 2 additions & 2 deletions benchmark/process/next-tick-depth.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ const bench = common.createBenchmark(main, {
process.maxTickDepth = Infinity;

function main({ n }) {

let counter = n;
bench.start();
process.nextTick(onNextTick);
function onNextTick() {
if (--n)
if (--counter)
process.nextTick(onNextTick);
else
bench.end(n);
Expand Down
11 changes: 6 additions & 5 deletions benchmark/process/next-tick-exec-args.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,11 @@ const bench = common.createBenchmark(main, {
});

function main({ n }) {
function onNextTick(i) {
if (i + 1 === n)
bench.end(n);
}

bench.start();
for (var i = 0; i < n; i++) {
if (i % 4 === 0)
process.nextTick(onNextTick, i, true, 10, 'test');
Expand All @@ -17,8 +20,6 @@ function main({ n }) {
else
process.nextTick(onNextTick, i);
}
function onNextTick(i) {
if (i + 1 === n)
bench.end(n);
}

bench.start();
}
11 changes: 6 additions & 5 deletions benchmark/process/next-tick-exec.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,14 @@ const bench = common.createBenchmark(main, {
});

function main({ n }) {

bench.start();
for (var i = 0; i < n; i++) {
process.nextTick(onNextTick, i);
}
function onNextTick(i) {
if (i + 1 === n)
bench.end(n);
}

for (var i = 0; i < n; i++) {
process.nextTick(onNextTick, i);
}

bench.start();
}
33 changes: 33 additions & 0 deletions benchmark/util/splice-one.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
'use strict';

const common = require('../common');

const bench = common.createBenchmark(main, {
n: [1e7],
pos: ['start', 'middle', 'end'],
size: [10, 100, 500],
}, { flags: ['--expose-internals'] });

function main({ n, pos, size }) {
const { spliceOne } = require('internal/util');
const arr = new Array(size);
arr.fill('');
let index;
switch (pos) {
case 'end':
index = size - 1;
break;
case 'middle':
index = Math.floor(size / 2);
break;
default: // start
index = 0;
}

bench.start();
for (var i = 0; i < n; i++) {
spliceOne(arr, index);
arr.push('');
}
bench.end(n);
}
Loading