Roberto Bianchi
bb3f9176ca
fs: reduce glob section allocations
...
Store prefix counts in section records to avoid a separate vector
and its allocations during multi-globstar matching.
Signed-off-by: Roberto Bianchi <roberto.bianchi@spendesk.com >
PR-URL: https://github.com/nodejs/node/pull/66716
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day >
2026-10-19 14:53:43 +00:00
avivkeller
a8f2bf007e
fs: implement glob natively
...
Signed-off-by: avivkeller <me@aviv.sh >
PR-URL: https://github.com/nodejs/node/pull/65392
Refs: https://openjs-foundation.slack.com/archives/C019Y2T6STH/p1787069174254509
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Filip Skokan <panva.ip@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day >
2026-09-11 13:15:27 -04:00
bq
0a32b56f82
path: add benchmarks for path.matchesGlob()
...
Signed-off-by: Adam Haglund <adam@haglund.dev >
PR-URL: https://github.com/nodejs/node/pull/63915
Reviewed-By: Aviv Keller <me@aviv.sh >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2026-07-17 21:34:38 +00:00
Ruben Bridgewater
35180bafd7
path: improve path.resolve() performance when used as process.cwd()
...
`path.resolve()` and `path.resolve('.')` is frequently called as
alternative to process.cwd(). This minimized overhead for these
specific cases.
PR-URL: https://github.com/nodejs/node/pull/58362
Reviewed-By: Jordan Harband <ljharb@gmail.com >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com >
2025-05-19 13:23:57 +00:00
Hüseyin Açacak
c852e222cb
path: fix relative on Windows
...
PR-URL: https://github.com/nodejs/node/pull/53991
Fixes: https://github.com/nodejs/node/issues/27534
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: James M Snell <jasnell@gmail.com >
2024-08-06 09:40:23 +00:00
Rafael Gonzaga
dde0cffb2e
benchmark: add toNamespacedPath bench
...
PR-URL: https://github.com/nodejs/node/pull/52236
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io >
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2024-03-29 22:40:22 +00:00
Antoine du Hamel
3acdeb1f7a
benchmark: add trailing commas in benchmark/path
...
PR-URL: https://github.com/nodejs/node/pull/46628
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
2023-02-14 17:09:42 +00:00
Daniele Belardi
4bf888d3d2
benchmark: use let instead of var
...
Use `let` in module, napi, net, os, path, process, querystring, streams
and string_decoder.
PR-URL: https://github.com/nodejs/node/pull/31592
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-02-13 21:41:33 +01:00
Alex Ramirez
d0ed431041
benchmark: swap var for let in benchmarks
...
In benchmark directory this changes for loops
using var to let when it applies for consistency
PR-URL: https://github.com/nodejs/node/pull/28958
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-02-13 21:38:00 +01:00
Ruben Bridgewater
038a1a489d
benchmark: refactor path benchmarks
...
So far the benchmarks created a highly specialized function which
would inline exactly to the input. This changes it to provide a
more realistic view to actual input by changing the input on each
iteration. That prevents the function to be to specific.
It also reduces the number of iterations the benchmarks are run to
reduce the overall runtime. A microbenchmark should already show a
significant difference with lower iterations, otherwise the
significance for real world applications is only limited.
PR-URL: https://github.com/nodejs/node/pull/26359
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2019-03-05 01:22:22 +01:00
Rich Trott
29e74d4952
benchmark: refactor for consistent style
...
Code in benchmark directory sometimes uses `function () {}` for
anonymous callbacks and sometimes uses `() => {}`. Multi-line arrays
sometimes have a trailing comma and sometimes do not. Update to always
use arrow functions for anonymous callbacks and trailing commas for
multiline arrays.
PR-URL: https://github.com/nodejs/node/pull/25944
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2019-02-06 22:18:31 -08:00
Ruben Bridgewater
d4015b8995
benchmark: fix platform in basename-win32
...
It should say `win32` and not `posix`.
PR-URL: https://github.com/nodejs/node/pull/18320
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-02-01 10:48:56 +01:00
Ruben Bridgewater
92953fa194
benchmark: (path) use destructuring
...
PR-URL: https://github.com/nodejs/node/pull/18250
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-01-23 01:29:24 +01:00
Ruben Bridgewater
e167ab71fb
benchmark: var to const
...
PR-URL: https://github.com/nodejs/node/pull/13757
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2017-09-19 21:14:38 -03:00
Vse Mozhet Byt
22aa3d4899
benchmark: reduce string concatenations
...
PR-URL: https://github.com/nodejs/node/pull/12455
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-04-20 04:46:37 +03:00
Bartosz Sosnowski
eba2c62bb1
benchmark: remove forced optimization from path
...
This removes all instances of %OptimizeFunctionOnNextCall from path
benchmarks
PR-URL: https://github.com/nodejs/node/pull/9615
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2017-03-06 16:32:00 +01:00
Rich Trott
dcfda1007b
tools,benchmark: increase lint compliance
...
In the hopes of soon having the benchmark code linted, this change
groups all the likely non-controversial lint-compliance changes such as
indentation, semi-colon usage, and single-vs.-double quotation marks.
Other lint rules may have subtle performance implications in the V8
currently shipped with Node.js. Those changes will require more careful
review and will be in a separate change.
PR-URL: https://github.com/nodejs/node/pull/5429
Reviewed-By: Roman Reiss <me@silverwind.io >
Reviewed-By: Brian White <mscdex@mscdex.net >
2016-02-27 20:15:17 -08:00
Rich Trott
4bb529d972
benchmark: use strict mode
...
Apply strict mode to benchmark code.
PR-URL: https://github.com/nodejs/node/pull/5336
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com >
Reviewed-By: Roman Reiss <me@silverwind.io >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
2016-02-22 11:09:26 -08:00
Brian White
e1348b0819
benchmark: split path benchmarks
...
This commit splits each path benchmark into separate posix and
Windows benchmark files. This allows benchmarking (platform-)specific
inputs against specific platforms (only).
PR-URL: https://github.com/nodejs/node/pull/5123
Reviewed-By: Roman Reiss <me@silverwind.io >
Reviewed-By: James M Snell <jasnell@gmail.com >
2016-02-09 20:35:35 -08:00
Nathan Woltman
99d9d7e716
benchmark: add remaining path benchmarks & optimize
...
As a follow-up to 0d15161 , this commit adds benchmarks for the rest
of the path functions and also forces V8 to optimize the functions
before starting the benchmark test.
PR-URL: https://github.com/nodejs/io.js/pull/2103
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com >
2015-07-26 22:17:41 -07:00
Nathan Woltman
0d15161c24
benchmark: Add some path benchmarks for #1778
...
Path functions being benchmarked are:
* format
* isAbsolute
* join
* normalize
* relative
* resolve
PR-URL: https://github.com/nodejs/io.js/pull/1778
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com >
Reviewed-By: Roman Reiss <me@silverwind.io >
2015-07-04 13:30:20 +02:00