2
0
Fork 0
mirror of https://github.com/uutils/coreutils synced 2024-12-17 16:43:16 +00:00
coreutils/src/uu/ls
Anup Mahindre 8554cdf35b
Optimize recursive ls ()
* ls: Remove allocations by eliminating collect/clones

* ls: Introduce PathData structure

- PathData will hold Path related metadata / strings that are required
frequently in subsequent functions
- All data is precomputed and cached and subsequent functions just
use cached data

* ls: Cache more data related to paths

- Cache filename and sort by filename instead of full path
- Cache uid->usr and gid->grp mappings
https://github.com/uutils/coreutils/pull/2099/files
* ls: Add BENCHMARKING.md

* ls: Document PathData structure

* tests/ls: Add testcase for error paths with width option

* ls: Fix unused import warning

cached will be only used for unix currently as current use of
caching gid/uid mappings is only relevant on unix

* ls: Suggest checking syscall count in BENCHMARKING.md

* ls: Remove mentions of sort in BENCHMARKING.md

* ls: Remove dependency on cached

Implement caching using HashMap and lazy_static

* ls: Fix MSRV error related to map_or

Rust 1.40 did not support map_or for result types
2021-04-22 09:19:17 +02:00
..
src Optimize recursive ls () 2021-04-22 09:19:17 +02:00
BENCHMARKING.md Optimize recursive ls () 2021-04-22 09:19:17 +02:00
Cargo.toml ls: use globset instead of glob 2021-04-04 23:39:11 +02:00