HEESEUNG
9837e08a84
util: fix parseEnv incorrectly splitting multiple ‘=‘ in value
...
Previously, parseEnv would create multiple environment
variables if a single line contained multiple ‘=‘ characters
(e.g. A=B=C would become { A: ‘B=C’, B: ‘C’ }).
This commit ensures that only the first ‘=‘ is used as
the key-value delimiter, and the rest of the line is treated
as the value.
Fixes: https://github.com/nodejs/node/issues/57411
PR-URL: https://github.com/nodejs/node/pull/57421
Reviewed-By: Daniel Lemire <daniel@lemire.me >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2025-05-19 12:13:51 +02:00
Ruben Bridgewater
775ee4d40f
assert,util: improve array comparison
...
Sparse arrays and arrays containing undefined are now compared faster
using assert.deepStrictEqual() or util.isDeepStrictEqual().
PR-URL: https://github.com/nodejs/node/pull/57619
Reviewed-By: Jordan Harband <ljharb@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Edy Silva <edigleyssonsilva@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2025-05-19 12:13:48 +02:00
Giovanni Bucci
17016d7722
util: expose diff function used by the assertion errors
...
fix: https://github.com/nodejs/node/issues/51740
PR-URL: https://github.com/nodejs/node/pull/57462
Fixes: https://github.com/nodejs/node/issues/51740
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Pietro Marchini <pietro.marchini94@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2025-04-17 10:51:49 -03:00
Ruben Bridgewater
ea70a379c3
assert: improve partialDeepStrictEqual performance
...
This implements fast paths for typed arrays, array buffers and sets
and maps that contain only objects as keys.
PR-URL: https://github.com/nodejs/node/pull/57509
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2025-04-17 10:51:48 -03:00
Ruben Bridgewater
a58842cee4
benchmark: adjust assert runtimes
...
Each file should have a reasonable runtime while having a good
accuracy. This adjust those up and down to have minimal runtimes
with a good accuracy.
PR-URL: https://github.com/nodejs/node/pull/57370
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br >
2025-04-17 10:51:39 -03:00
Ruben Bridgewater
b20b3697aa
benchmark: skip running some assert benchmarks by default
...
These benchmarks are not frequently needed and just slow down the
default benchmark suite. They are kept for users who want to run
them but deactivated by default.
PR-URL: https://github.com/nodejs/node/pull/57370
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br >
2025-04-17 10:51:38 -03:00
Ruben Bridgewater
ec5570fd1e
benchmark: add assert partialDeepStrictEqual benchmark
...
The current settings deactivate the extraProps handling, due to
the current implementation failing on these cases.
PR-URL: https://github.com/nodejs/node/pull/57370
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br >
2025-04-17 10:51:38 -03:00
Michaël Zasso
46efdbf59f
tools: import rather than require ESLint plugins
...
Refs: https://github.com/nodejs/node/pull/57314
PR-URL: https://github.com/nodejs/node/pull/57315
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Edy Silva <edigleyssonsilva@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Richard Lau <rlau@redhat.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
2025-04-17 10:51:27 -03:00
Giovanni Bucci
7af0440073
assert: improve myers diff performance
...
fix: https://github.com/nodejs/node/issues/57242
PR-URL: https://github.com/nodejs/node/pull/57279
Fixes: https://github.com/nodejs/node/issues/57242
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: LiviaMedeiros <livia@cirno.name >
2025-04-17 10:51:24 -03:00
Elves Vieira
b991bf4ca6
benchmark: add a warmup on bench-openSync
...
PR-URL: https://github.com/nodejs/node/pull/57051
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Raz Luvaton <rluvaton@gmail.com >
2025-04-17 10:50:56 -03:00
Jan Krems
4991e5d826
zlib: add zstd support
...
Fixes: https://github.com/nodejs/node/issues/48412
PR-URL: https://github.com/nodejs/node/pull/52100
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
2025-04-16 03:29:16 -03:00
Chengzhong Wu
d5bf3db0cf
lib: allow skipping source maps in node_modules
...
Files in `node_modules` are not authored by the user directly and the
original sources are less relevant to the user.
Skipping source maps in `node_modules` improves the general
performance. Add `module.setSourceMapsSupport(enabled, options)` to
skip source maps in `node_modules` if it is needed. This moves
all source maps related API to `node:module` and this a step to
promote the source maps API to stable.
PR-URL: https://github.com/nodejs/node/pull/56639
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2025-02-06 01:10:44 +01:00
Rafael Gonzaga
2386fd5840
benchmark: add validateStream to styleText bench
...
PR-URL: https://github.com/nodejs/node/pull/56556
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2025-02-03 20:09:59 +01:00
Pietro Marchini
19b4aa4b14
test_runner: run single test file benchmark
...
PR-URL: https://github.com/nodejs/node/pull/56479
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com >
2025-02-03 20:09:56 +01:00
Chengzhong Wu
dc003218a8
lib: optimize prepareStackTrace on builtin frames
...
Only invalidates source map lookup cache when a new source map is found.
This improves when user codes interleave with builtin functions, like
`array.map`.
PR-URL: https://github.com/nodejs/node/pull/56299
Refs: https://github.com/nodejs/node/issues/56296
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Xuguang Mei <meixuguang@gmail.com >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Pietro Marchini <pietro.marchini94@gmail.com >
2025-01-31 01:16:42 +01:00
Rafael Gonzaga
57bb983215
src,lib: stabilize permission model
...
Move permission model from 1.1 (Active Development)
to 2.0 (Stable).
PR-URL: https://github.com/nodejs/node/pull/56201
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com >
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
2025-01-05 13:05:28 -05:00
Mert Can Altin
374eb415fd
util: add fast path for Latin1 decoding
...
PR-URL: https://github.com/nodejs/node/pull/55275
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Daniel Lemire <daniel@lemire.me >
2025-01-05 12:59:57 -05:00
Aviv Keller
6e3e99c81e
lib: prefer logical assignment
...
PR-URL: https://github.com/nodejs/node/pull/55044
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: LiviaMedeiros <livia@cirno.name >
2024-11-27 11:03:39 -05:00
Aviv Keller
c67aec368e
benchmark: add test-reporters
...
PR-URL: https://github.com/nodejs/node/pull/55757
Refs: https://github.com/nodejs/node/issues/55723
Reviewed-By: Pietro Marchini <pietro.marchini94@gmail.com >
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br >
Reviewed-By: Raz Luvaton <rluvaton@gmail.com >
2024-11-27 11:03:36 -05:00
Aviv Keller
49774cc2c0
benchmark: add test_runner/mock-fn
...
PR-URL: https://github.com/nodejs/node/pull/55771
Refs: https://github.com/nodejs/node/issues/55723
Reviewed-By: Pietro Marchini <pietro.marchini94@gmail.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br >
2024-11-27 11:03:35 -05:00
Chengzhong Wu
940d22ffe1
util: fix util.getCallSites plurality
...
`util.getCallSite` returns an array of call site objects. Rename the
function to reflect that it returns a given count of frames captured
as an array of call site object.
Renames the first parameter `frames` to be `frameCount` to indicate
that it specifies the count of returned call sites.
PR-URL: https://github.com/nodejs/node/pull/55626
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com >
2024-11-27 11:03:32 -05:00
RafaelGSS
4caaeb47b2
benchmark: add nodeTiming.uvmetricsinfo bench
...
PR-URL: https://github.com/nodejs/node/pull/55614
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br >
2024-11-27 11:03:28 -05:00
Rafael Gonzaga
cac58564a1
benchmark: add --runs support to run.js
...
PR-URL: https://github.com/nodejs/node/pull/55158
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br >
2024-11-27 01:42:43 -05:00
Rafael Gonzaga
5c3ee886fc
benchmark: adjust byte size for buffer-copy
...
PR-URL: https://github.com/nodejs/node/pull/55295
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2024-11-27 01:23:18 -05:00
Robert Nagy
4f84cdc8a2
events: optimize EventTarget.addEventListener
...
PR-URL: https://github.com/nodejs/node/pull/55312
Fixes: https://github.com/nodejs/node/issues/55311
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2024-11-27 01:23:18 -05:00
Rafael Gonzaga
39c7a9e70c
benchmark: adjust config for deepEqual object
...
This should make easier to read on benchmark/compare
and when generating graphs
PR-URL: https://github.com/nodejs/node/pull/55254
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br >
2024-10-11 20:58:22 +02:00
Joyee Cheung
263526d5d0
benchmark: rewrite detect-esm-syntax benchmark
...
Syntax detection has been unflagged so it's no longer meaningful
to toggle the detection based on CLI flags. It was also previously
benchmarking cached module imports which isn't very meaningful
for subsequent loads. This patch updates the benchmark to toggle
the detection based on the presence of type field in the package.json,
and generates fixtures to benchmark fresh module loads.
PR-URL: https://github.com/nodejs/node/pull/55238
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2024-10-10 01:42:22 +02:00
Rafael Gonzaga
cd0795fb00
benchmark: add no-warnings to process.has bench
...
PR-URL: https://github.com/nodejs/node/pull/55159
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
2024-10-04 19:20:20 +02:00
Marco Ippolito
4352d9cc31
benchmark: create benchmark for typescript
...
PR-URL: https://github.com/nodejs/node/pull/54904
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2024-10-04 10:20:26 +02:00
jakecastelli
452bc9b48d
benchmark: add webstorage benchmark
...
PR-URL: https://github.com/nodejs/node/pull/55040
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
2024-10-04 10:20:21 +02:00
Rafael Gonzaga
d4d5ba3a9b
benchmark: include ascii to fs/readfile
...
PR-URL: https://github.com/nodejs/node/pull/54988
Reviewed-By: Daniel Lemire <daniel@lemire.me >
Reviewed-By: Raz Luvaton <rluvaton@gmail.com >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
2024-10-04 10:20:11 +02:00
Aviv Keller
23b628db65
benchmark: add dotenv benchmark
...
PR-URL: https://github.com/nodejs/node/pull/54278
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
2024-10-04 10:20:05 +02:00
Rafael Gonzaga
022767028e
benchmark: --no-warnings to avoid DEP/ExpWarn log
...
PR-URL: https://github.com/nodejs/node/pull/54928
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br >
Reviewed-By: Filip Skokan <panva.ip@gmail.com >
2024-09-17 11:18:28 -03:00
Chengzhong Wu
ddd24a6e63
node-api: add external buffer creation benchmark
...
Add a micro benchmark for external buffer creation.
PR-URL: https://github.com/nodejs/node/pull/54877
Refs: https://github.com/nodejs/node/issues/53804
Refs: https://github.com/nodejs/node/issues/44111
Reviewed-By: Gabriel Schulhof <gabrielschulhof@gmail.com >
Reviewed-By: Michael Dawson <midawson@redhat.com >
2024-09-16 23:20:16 -03:00
Yagiz Nizipli
461e523498
os: improve tmpdir performance
...
PR-URL: https://github.com/nodejs/node/pull/54709
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2024-09-14 00:20:35 +02:00
RafaelGSS
af1988c147
benchmark: add buffer.isAscii benchmark
...
PR-URL: https://github.com/nodejs/node/pull/54740
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2024-09-12 11:06:44 +02:00
RafaelGSS
40c6849964
benchmark: add buffer.isUtf8 bench
...
PR-URL: https://github.com/nodejs/node/pull/54740
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2024-09-12 11:06:44 +02:00
Rafael Gonzaga
237d7dfbde
benchmark: add access async version to bench
...
PR-URL: https://github.com/nodejs/node/pull/54747
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2024-09-12 11:06:42 +02:00
Rafael Gonzaga
ebe91db827
benchmark: enhance dc publish benchmark
...
PR-URL: https://github.com/nodejs/node/pull/54745
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2024-09-12 11:06:42 +02:00
RafaelGSS
060164485b
benchmark: add match and doesNotMatch bench
...
PR-URL: https://github.com/nodejs/node/pull/54734
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
2024-09-12 11:06:42 +02:00
RafaelGSS
2844180c7e
benchmark: add rejects and doesNotReject bench
...
PR-URL: https://github.com/nodejs/node/pull/54734
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
2024-09-12 11:06:41 +02:00
RafaelGSS
af7689ed02
benchmark: add throws and doesNotThrow bench
...
PR-URL: https://github.com/nodejs/node/pull/54734
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
2024-09-12 11:06:41 +02:00
RafaelGSS
456a1fe222
benchmark: add strictEqual and notStrictEqual bench
...
PR-URL: https://github.com/nodejs/node/pull/54734
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
2024-09-12 11:06:41 +02:00
Rafael Gonzaga
a37d805489
lib: add util.getCallSite() API
...
PR-URL: https://github.com/nodejs/node/pull/54380
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Claudio Wunder <cwunder@gnome.org >
Reviewed-By: James M Snell <jasnell@gmail.com >
2024-09-12 11:06:40 +02:00
Rafael Gonzaga
68e45b406e
benchmark,doc: add CPU scaling governor to perf
...
PR-URL: https://github.com/nodejs/node/pull/54723
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2024-09-12 11:06:40 +02:00
Rafael Gonzaga
d19efd7a50
benchmark,doc: mention bar.R to the list of scripts
...
PR-URL: https://github.com/nodejs/node/pull/54722
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2024-09-12 11:06:40 +02:00
Giovanni Bucci and Yaman Kassir
721c63c858
benchmark: adds groups to better separate benchmarks
...
Fixes: https://github.com/nodejs/node/issues/26425
Co-Authored-By: Yaman Kassir <mestery@protonmail.com >
PR-URL: https://github.com/nodejs/node/pull/54393
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br >
2024-09-12 11:06:39 +02:00
Early Riser
94985df9d6
benchmark: fix benchmark for file path and URL conversion
...
PR-URL: https://github.com/nodejs/node/pull/54190
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2024-08-30 15:52:13 -03:00
Yagiz Nizipli
3a74c400d5
src: improve buffer.transcode performance
...
PR-URL: https://github.com/nodejs/node/pull/54153
Reviewed-By: Daniel Lemire <daniel@lemire.me >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2024-08-25 18:19:12 -03:00
Robert Nagy
a5a60e6823
buffer: use fast API for writing one-byte strings
...
PR-URL: https://github.com/nodejs/node/pull/54310
PR-URL: https://github.com/nodejs/node/pull/54311
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2024-08-21 17:49:20 -03:00