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.
36 lines
1.0 KiB
36 lines
1.0 KiB
4 years ago
|
* shuffle3-lean
|
||
|
Redegisn/upgrade of =shuffle3=
|
||
|
|
||
|
* Goals
|
||
|
- [X] Functioning in-place shuffle/unshuffle
|
||
|
- [X] Shuffle
|
||
|
- [X] Unshuffle
|
||
|
- [X] Usable in-place s/us from command line
|
||
|
- [X] Shuffle
|
||
|
- [X] 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.
|
||
4 years ago
|
|
||
|
* Improvements
|
||
|
- *~70-80x* speedup from shuffle3 1.0
|
||
4 years ago
|
- Huge reduction in syscalls
|
||
|
- Takes advantage of the kernel's fs cache
|
||
4 years ago
|
- Can properly handle large files without core dumping
|
||
4 years ago
|
- Doesn't dump huge amounts of trash onto each stack frame
|
||
4 years ago
|
|
||
4 years ago
|
* Todo
|
||
4 years ago
|
- [X] impl rng
|
||
|
- [X] impl shuffling
|
||
|
- [ ] impl out-of-place shuffling
|
||
|
- [-] arg parsing and dispatch
|
||
|
- [X] simple parsing
|
||
|
- [ ] complex parsing
|