Benjamin Woodruff
b3959cdcbf
test: Fix and update recursive-delete benchmarks ( #84875 )
...
PR created with claude code, with some manual review.
- Update benchmark scripts to work, given my recent code changes
- Include a native nodejs benchmark
- Use rimraf's `manual` implementation (tries to use node's native version)
- Tried to clean up the code a bit
- Use a trap to always clean up
- Use getopt and add an `--iterations` option
- `set -euo pipefail` to avoid swallowing errors
Example output:
```
pnpm bench
> bench-recursive-delete@ bench /home/bgw.linux/next.js/bench/recursive-delete
> bash run.sh
-----------
rimraf (async) 1
62.443657
rimraf (async) 2
52.953482
rimraf (async) 3
52.029235
rimraf (async) 4
50.709822
rimraf (async) 5
54.204893
-----------
rimraf (sync) 1
35.034669
rimraf (sync) 2
35.663417
rimraf (sync) 3
46.360754
rimraf (sync) 4
36.859329
rimraf (sync) 5
34.368796
-----------
recursive delete 1
37.851534
recursive delete 2
35.98904
recursive delete 3
36.620913
recursive delete 4
38.059992
recursive delete 5
43.880346
-----------
nodejs rm (promises) 1
71.301125
nodejs rm (promises) 2
89.78331
nodejs rm (promises) 3
68.073553
nodejs rm (promises) 4
70.787543
nodejs rm (promises) 5
73.727616
-----------
nodejs rm (callback) 1
92.698258
nodejs rm (callback) 2
73.043993
nodejs rm (callback) 3
70.869584
nodejs rm (callback) 4
69.196757
nodejs rm (callback) 5
75.715526
-----------
nodejs rm (sync) 1
41.71002
nodejs rm (sync) 2
41.742395
nodejs rm (sync) 3
38.894571
nodejs rm (sync) 4
41.326271
nodejs rm (sync) 5
48.152122
```
2025-10-20 17:52:34 -07:00
matamatanot
c922c6a3f4
Replace 'require' with 'import' in bench files and update dependancies ( #25775 )
...
## Feature
- [ ] Telemetry added. In case of a feature if it's used or not.
### Replace 'require' with 'import' in bench files
Node.js 12 allows you to use `import`.
### Update dependancies
https://github.com/jprichardson/node-fs-extra/blob/master/CHANGELOG.md#breaking-changes
> Require Node.js v12+
For #25761 , Node.js 12 is required. Therefore, there is no problem updating it. For benchmarking purposes, it would be reasonable to update to the latest version.
2021-06-04 14:30:52 +00:00
Joe Haddad
18a9c7e371
Improve linting rules to catch more errors ( #9374 )
...
* Update `packages/`
* Update examples
* Update tests
* Update bench
* Update top level files
* Fix build
* trigger
2019-11-10 19:24:53 -08:00
Joe Haddad
b3170d2648
Format missed files ( #7464 )
...
* Format missed files
* Remove unnecessary rule
* Fix type error
2019-05-29 18:19:32 -07:00
Connor Davis
861edad459
Implement Recursive Delete ( #6489 )
...
Removes `rimraf` for a smaller custom lib
Benchmarks (in ms):
```
rimraf 1
518.536376
rimraf 2
416.112451
rimraf 3
451.905842
rimraf 4
525.117395
rimraf 5
434.230384
---- Average: 469.18ms
-----------
recursive delete 1
121.493979
recursive delete 2
130.335272
recursive delete 3
149.798316
recursive delete 4
182.184688
recursive delete 5
130.346207
--- Average: 142.83ms
```
`recursiveDelete` finishes in ~30% of the time it takes `rimraf` (3.3 times faster)
2019-03-05 14:01:42 +01:00