Comments (12)
As expected for windows right now since we're just forwarding to https://github.com/XAMPPRocky/remove_dir_all/blob/master/Cargo.toml. On that note, I noticed that the parallel feature is disabled by default. If you enable it here,
Line 24 in cb34600
Can you try that and share benchmarks?
from fuc.
You can use --show-output
with hyperfine to see the actual failure. My guess: have you install ftzz?
from fuc.
Thanks.
It seems hyperfine problem?
I can't pass command line options to commands.
I installed fizz
and when I run this command on terminal
hyperfine --warmup 3 -N --show-output --prepare "ftzz g -n 100 -b 100 ""D:/tmp/ftzz""" "rmdir /S /Q D:/tmp/"
got this error.
Benchmark 1: rmdir /S /Q D:/tmp/
About 100 files will be generated in approximately 100 directories distributed across a tree of maximum depth 5 where each directory contains approximately 3 other directories. Each file will contain approximately 1 byte of random data.
Created 32 files (29 B) across 214 directories.
rmdir: failed to remove '/S': The system cannot find the file specified.
rmdir: failed to remove '/Q': The system cannot find the file specified.
rmdir: failed to remove 'D:/tmp/': The directory is not empty.
Error: Command terminated with non-zero exit code: 1. Use the '-i'/'--ignore-failure' option if you want to ignore this. Alternatively, use the '--show-output' option to debug what went wrong.
from fuc.
Problem solved.
-N
made options for command not usable.
Shell script converted to batch script on windows and it's working.
(It's from remote windows, line breaks not applied here.)
@echo off
for %%G in (0,1G) do (
for %%F in (10,10_000,100_000,1M) do (
hyperfine --warmup 3 ^
--export-markdown "./benches/remove_%%F_files_%%G_bytes.md" ^
--export-json "./benches/remove_%%F_files_%%G_bytes.json" ^
--prepare "ftzz g -n %%F -b %%G D:/tmp/ftzz" ^
"rmdir /S /Q ""D:/tmp""" ^
"D:/Repositories/fuc/target/release/rm_stdlib D:/tmp/ftzz" ^
"D:/Repositories/fuc//target/release/rm_rayon D:/tmp/ftzz" ^
"D:/Repositories/fuc//target/release/rm_remove_dir_all D:/tmp/ftzz" ^
"D:/Repositories/fuc//target/release/rmz D:/tmp/ftzz"
)
hyperfine --warmup 3 -N ^
--export-markdown "benches/remove_100_000_files_%%G_bytes_0_depth.md" ^
--export-json "benches/remove_100_000_files_%%G_bytes_0_depth.json" ^
--prepare "ftzz g -n 100_000 -b %%G -d 0 D:/tmp/ftzz" ^
"rmdir /S /Q ""D:/tmp""" ^
"D:/Repositories/fuc/target/release/rm_stdlib D:/tmp/ftzz" ^
"D:/Repositories/fuc/target/release/rm_rayon D:/tmp/ftzz" ^
"D:/Repositories/fuc/target/release/rm_remove_dir_all D:/tmp/ftzz" ^
"D:/Repositories/fuc/target/release/rmz D:/tmp/ftzz"
hyperfine --warmup 3 -N ^
--export-markdown "benches/remove_100_000_files_%%G_bytes_5_files_per_dir.md" ^
--export-json "benches/remove_100_000_files_%%G_bytes_5_files_per_dir.json" ^
--prepare "ftzz g -n 100_000 -b %%G -r 5 D:/tmp/ftzz" ^
"rmdir /S /Q ""D:/tmp""" ^
"D:/Repositories/fuc/target/release/rm_stdlib ""D:/tmp/ftzz""" ^
"D:/Repositories/fuc/target/release/rm_rayon ""D:/tmp/ftzz""" ^
"D:/Repositories/fuc/target/release/rm_remove_dir_all ""D:/tmp/ftzz""" ^
"D:/Repositories/fuc/target/release/rmz ""D:/tmp/ftzz"""
)
from fuc.
rm_rayon is fastest on windows 11(tested on HDD).
from fuc.
@SUPERCILEX not relevant, but do you know some windows internals?
_Hm... I thought wrongly. _
I hope to get some advice on this.
Thanks.
from fuc.
Sadly no, I don't know much of anything about Windows internals.
from fuc.
I can't wait to finish remove benchmark running on HDD.
But I guess almost last phase.
need to adjust values or run benches on SSD...
HDD takes too much time.
from fuc.
Thanks! So that's with the parallel
feature enabled? Seems like a win for the large benchmarks.
from fuc.
Yes, I enabled parallel feature for remove_dir_all.
from fuc.
Sweet! I just pushed 844b20b
from fuc.
Added copy benchmarks, just stdlib
, rayon
, cpz
.
I'll try this with robocopy
later.
from fuc.
Related Issues (20)
- [rmz] Symbolic Links HOT 1
- Get rid of support for non-linux OSes? HOT 1
- [cpz] Symbolic Links HOT 21
- Future request - progress bar HOT 8
- rust 1.61.0 support HOT 12
- cargo install rmz cpz fails HOT 3
- +1 HOT 1
- cross-file system move HOT 4
- Feature request: support `cpz -t`/`cpz -T` HOT 9
- Feature request: preserve permissions option HOT 3
- Feature request: verbose output HOT 3
- Add -i / --interactive flags HOT 2
- Put it on homebrew HOT 3
- Neverending copy to sshfs mount HOT 5
- How do I learn about knowledge behind this project? HOT 3
- Re-evaluate symlink handling HOT 1
- Can't remove deeply nested folders with rmz HOT 4
- Maybe handle d_type unknown
- Support deep --force for cpz?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fuc.