You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.0 KiB
1.0 KiB
shuffle3-lean
Redegisn/upgrade of shuffle3
Goals
-
Functioning in-place shuffle/unshuffle
- Shuffle
- Unshuffle
-
Usable in-place s/us from command line
- Shuffle
- Unshuffle
-
Functioning out-of-place/in-memory shuffle/unshuffle
- Shuffle
- Unshuffle
-
Usable out-of-place s/us from command line
- Shuffle
- Unshuffle
NO compatibility with shuffle3
shuffle3
's drng
PRNG algorithm uses an outdated global state backend. We don't want to reuse this.
As a result, output from shuffle3
and shuffle3-lean
is different.
Improvements
- ~70-80x speedup from shuffle3 1.0
- Huge reduction in syscalls
- Takes advantage of the kernel's fs cache
- Can properly handle large files without core dumping
- Doesn't dump huge amounts of trash onto each stack frame
Todo
- impl rng
- impl shuffling
- impl out-of-place shuffling
-
arg parsing and dispatch
- simple parsing
- complex parsing