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.
shuffle3/TODO.org

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