ls but with io_uring

readme: initial commit

rockorager.dev 9373c6b6 cc2a7861

verified
+42
+42
README.md
··· 1 + # lsr 2 + 3 + `ls(1)` but with io_uring 4 + 5 + ![screenshot](screenshot.png) 6 + 7 + ## Benchmarks 8 + 9 + Benchmarks were all gathered on the same set of directories, using the latest 10 + releases of each program (versions are shown below). 11 + 12 + | Program | Version | 13 + |:-------:|:-------:| 14 + | lsr | 0.1.0 | 15 + | ls | 9.7 | 16 + | eza | 0.21.3 | 17 + | lsd | 1.1.5 | 18 + | uutils | 0.0.30 | 19 + 20 + ### Time 21 + 22 + Data gathered with `hyperfine` on a directory of `n` plain files. 23 + 24 + | Program | n=10 | n=100 | n=1,000 | n=10,000 | 25 + |:-------------:|:--------:|:--------:|:-------:|:--------:| 26 + | lsr -al | 372.6 µs | 634.3 µs | 2.7 ms | 22.1 ms | 27 + | ls -al | 1.4 ms | 1.7 ms | 4.7 ms | 38.0 ms | 28 + | eza -al | 2.9 ms | 3.3 ms | 6.6 ms | 40.2 ms | 29 + | lsd -al | 2.1 ms | 3.5 ms | 17.0 ms | 153.4 ms | 30 + | uutils ls -al | 2.9 ms | 3.6 ms | 11.3 ms | 89.6 ms | 31 + 32 + ### Syscalls 33 + 34 + Data gathered with `strace -c` on a directory of `n` plain files. 35 + 36 + | Program | n=10 | n=100 | n=1,000 | n=10,000 | 37 + |:-------------:|:----:|:-----:|:-------:|:--------:| 38 + | lsr -al | 20 | 28 | 105 | 848 | 39 + | ls -al | 405 | 675 | 3,377 | 30,396 | 40 + | eza -al | 319 | 411 | 1,320 | 10,364 | 41 + | lsd -al | 508 | 1,408 | 10,423 | 100,512 | 42 + | uutils ls -al | 445 | 986 | 6,397 | 10,005 |
screenshot.png

This is a binary file and will not be displayed.