Measured stat performance, io_uring not worth it
Large directories are slow for different reasons.
This commit is contained in:
parent
e1b0831854
commit
0d10ae06e6
5
sdn.cpp
5
sdn.cpp
|
@ -638,9 +638,8 @@ fun make_entry (const struct dirent *f) -> entry {
|
||||||
e.info.st_mode = DTTOIF (f->d_type);
|
e.info.st_mode = DTTOIF (f->d_type);
|
||||||
auto &info = e.info;
|
auto &info = e.info;
|
||||||
|
|
||||||
// TODO: benchmark just readdir() vs. lstat(), also on dead mounts;
|
// io_uring is only at most about 50% faster, though it might help with
|
||||||
// it might make sense to stat asynchronously in threads
|
// slowly statting devices, at a major complexity cost.
|
||||||
// http://lkml.iu.edu/hypermail//linux/kernel/0804.3/1616.html
|
|
||||||
if (lstat (f->d_name, &info)) {
|
if (lstat (f->d_name, &info)) {
|
||||||
e.cols[entry::MODES] = apply_attrs ({ decode_type (info.st_mode),
|
e.cols[entry::MODES] = apply_attrs ({ decode_type (info.st_mode),
|
||||||
L'?', L'?', L'?', L'?', L'?', L'?', L'?', L'?', L'?' }, 0);
|
L'?', L'?', L'?', L'?', L'?', L'?', L'?', L'?', L'?' }, 0);
|
||||||
|
|
Loading…
Reference in New Issue