История изменений
Исправление CrX, (текущая версия) :
Домерял. Вот так вот получается:
$ cat `which purge`
#!/bin/sh
fd -u . "$1" -x rm -R
rm -R "$1"
$ hyperfine -p "tar -xJf linux-6.8.9.tar.xz && sudo sync && echo 3 | sudo sponge /proc/sys/vm/drop_caches" -w 2 -i "purge linux-6.8.9" "bfs -rm linux-6.8.9" "rm -R linux-6.8.9" --export-markdown finders.md
Benchmark 1: purge linux-6.8.9
Time (mean ± σ): 2.093 s ± 1.232 s [User: 7.262 s, System: 4.056 s]
Range (min … max): 0.537 s … 3.570 s 10 runs
Benchmark 2: bfs -rm linux-6.8.9
Time (mean ± σ): 4.000 s ± 2.634 s [User: 0.042 s, System: 1.496 s]
Range (min … max): 1.290 s … 8.213 s 10 runs
Benchmark 3: rm -R linux-6.8.9
Time (mean ± σ): 5.176 s ± 4.154 s [User: 0.034 s, System: 1.361 s]
Range (min … max): 1.867 s … 16.378 s 10 runs
Summary
purge linux-6.8.9 ran
1.91 ± 1.69 times faster than bfs -rm linux-6.8.9
2.47 ± 2.46 times faster than rm -R linux-6.8.9
Command | Mean [s] | Min [s] | Max [s] | Relative |
---|---|---|---|---|
purge linux-6.8.9 | 2.093 ± 1.232 | 0.537 | 3.570 | 1.00 |
bfs -rm linux-6.8.9 | 4.000 ± 2.634 | 1.290 | 8.213 | 1.91 ± 1.69 |
rm -R linux-6.8.9 | 5.176 ± 4.154 | 1.867 | 16.378 | 2.47 ± 2.46 |
Разброс, конечно, зело большой. Но всё же разница вполне заметная. Разбросы перекрываются, но самый долгий медленный через fd всё ещё быстрее среднего значения через bfs и rm.
P.S. Это со сбросом кэшей сразу перед каждым тестом, если не очевидно из того, что происходит в -p
Исправление CrX, :
Домерял. Вот так вот получается:
$ cat `which purge`
#!/bin/sh
fd -u . "$1" -x rm -R
rm -R "$1"
$ hyperfine -p "tar -xJf linux-6.8.9.tar.xz && sudo sync && echo 3 | sudo sponge /proc/sys/vm/drop_caches" -w 2 -i "purge linux-6.8.9" "bfs -rm linux-6.8.9" "rm -R linux-6.8.9" --export-markdown finders.md
Benchmark 1: purge linux-6.8.9
Time (mean ± σ): 2.093 s ± 1.232 s [User: 7.262 s, System: 4.056 s]
Range (min … max): 0.537 s … 3.570 s 10 runs
Benchmark 2: bfs -rm linux-6.8.9
Time (mean ± σ): 4.000 s ± 2.634 s [User: 0.042 s, System: 1.496 s]
Range (min … max): 1.290 s … 8.213 s 10 runs
Benchmark 3: rm -R linux-6.8.9
Time (mean ± σ): 5.176 s ± 4.154 s [User: 0.034 s, System: 1.361 s]
Range (min … max): 1.867 s … 16.378 s 10 runs
Summary
purge linux-6.8.9 ran
1.91 ± 1.69 times faster than bfs -rm linux-6.8.9
2.47 ± 2.46 times faster than rm -R linux-6.8.9
Command | Mean [s] | Min [s] | Max [s] | Relative |
---|---|---|---|---|
purge linux-6.8.9 | 2.093 ± 1.232 | 0.537 | 3.570 | 1.00 |
bfs -rm linux-6.8.9 | 4.000 ± 2.634 | 1.290 | 8.213 | 1.91 ± 1.69 |
rm -R linux-6.8.9 | 5.176 ± 4.154 | 1.867 | 16.378 | 2.47 ± 2.46 |
Разброс, конечно, зело большой. Но всё же разница вполне заметная.
P.S. Это со сбросом кэшей сразу перед каждым тестом, если не очевидно из того, что происходит в -p
Исходная версия CrX, :
Домерял. Вот так вот получается:
$ cat `which purge`
#!/bin/sh
fd -u . "$1" -x rm -R
rm -R "$1"
$ hyperfine -p "tar -xJf linux-6.8.9.tar.xz && sudo sync && echo 3 | sudo sponge /proc/sys/vm/drop_caches" -w 2 -i "purge linux-6.8.9" "bfs -rm linux-6.8.9" "rm -R linux-6.8.9" --export-markdown finders.md
Benchmark 1: purge linux-6.8.9
Time (mean ± σ): 2.093 s ± 1.232 s [User: 7.262 s, System: 4.056 s]
Range (min … max): 0.537 s … 3.570 s 10 runs
Benchmark 2: bfs -rm linux-6.8.9
Time (mean ± σ): 4.000 s ± 2.634 s [User: 0.042 s, System: 1.496 s]
Range (min … max): 1.290 s … 8.213 s 10 runs
Benchmark 3: rm -R linux-6.8.9
Time (mean ± σ): 5.176 s ± 4.154 s [User: 0.034 s, System: 1.361 s]
Range (min … max): 1.867 s … 16.378 s 10 runs
Summary
purge linux-6.8.9 ran
1.91 ± 1.69 times faster than bfs -rm linux-6.8.9
2.47 ± 2.46 times faster than rm -R linux-6.8.9
Command | Mean [s] | Min [s] | Max [s] | Relative |
---|---|---|---|---|
purge linux-6.8.9 | 2.093 ± 1.232 | 0.537 | 3.570 | 1.00 |
bfs -rm linux-6.8.9 | 4.000 ± 2.634 | 1.290 | 8.213 | 1.91 ± 1.69 |
rm -R linux-6.8.9 | 5.176 ± 4.154 | 1.867 | 16.378 | 2.47 ± 2.46 |
Разброс, конечно, зело большой. Но всё же разница вполне заметная.