У мене каталог з близько 100 000 файлів у ньому. ls -f висить більше хвилини. Я побіг стрибко, і одразу почав бачити гедейнди, тому ls чітко читає каталог. Я також бачу багато дзвінків до brk, тому ls явно буферизує речі в пам'яті. Я написав просту програму, яка викликає readdir і виводить імена файлів, і вона відповідає негайно. Але ls -f не забезпечує вихід. Що дає? Я подумав, що вся суть -f полягає в тому, що це змушує ls робити нічого більше, ніж readdir. Чи є портативний, надійний спосіб перерахувати вміст каталогу? (Зауважте, це ls від coreutils gnu в Linux.)
-EDIT-
На місці з’явився псевдонім, але "/ bin / ls -1f> / dev / null" займає від 8 до 15 секунд, "/ bin / ls -1fx> / dev / null" займає від 4 до 11 секунд, але проста програма що тільки для readdir займає 0,011 секунди. Що мені потрібно зробити, щоб gnu ls не смоктала?