İçinde yaklaşık 100.000 dosya bulunan bir dizin var. ls -f bir dakikadan fazla askıda kalýr. Strace koştu ve hemen getdents görmeye başladı, bu yüzden ls açıkça dizini okuyor. Ayrıca brk için bir sürü çağrı görüyorum, bu yüzden ls açıkça bellekteki şeyleri arabelleğe alıyor. Ben readdir çağıran ve dosya adları veren basit bir program yazdım ve hemen yanıt verdi. Ancak ls -f çıktı sağlamaz. Ne oluyor? Ben -f bütün mesele ls readdir daha başka bir şey yapmasına neden olduğunu düşündüm. Bir dizinin içeriğini listelemenin taşınabilir ve güvenilir bir yolu var mı? (Not, bu Linux'un GNU's coreutils ls.)
-DÜZENLE-
Bir takma ad vardı, ancak "/ bin / ls -1f> / dev / null" 8 ila 15 saniye sürer, "/ bin / ls -1fx> / dev / null" 4 ila 11 saniye sürer, ancak basit bir program readdir sadece .011 saniye alır. GNU'ların emilmemesi için ne yapmam gerekir?