1
1
mirror of https://github.com/jarun/nnn.git synced 2024-11-22 15:20:59 +03:00

Updated Performance (markdown)

John Doe 2020-04-05 13:28:28 +05:30
parent c6a9cda3d3
commit ae0e20e987

@ -27,9 +27,9 @@
#### Optimization techniques `nnn` development ignores:
- replace quicksort with a more aggressive algorithm by favoring space over time complexity (the random load option is also removed)
- call non-standard platform-specific APIs like `getdents()`/`getdents64()` (the _Description_ section in the Linux man page starts with _These are not the interfaces you are interested in_); applies to Linux-specific `statx()` too
- spend time on performance optimization over 10K entries in a dir as this is not the regular case and the performance with 10K files is quite good with the current implementation (in addition SSD and NVMe are the future)
- use lazy/background/threaded load (`nnn` supports disk usage mode, sort orders and _nav-as-you-type_ as program options, so it needs to `stat` all files first for a _correct_ calculation/ordering of the entries)
- non-standard calls like `statx()`/`getdents()`/`getdents64()` (the _Description_ section in the Linux man page starts with _These are not the interfaces you are interested in_)
- spend time to optimize loading over 10K entries in a dir; not the regular case and the performance with 10K files is quite good with the current implementation (plus SSD and NVMe are the future)
- use lazy/background/threaded load (`nnn` supports du, sort and _nav-as-you-type_ as program options, so it needs to `stat` all files beforehand to _correctly_ calculate/order)
## Comparison