Jim Meyering wrote: > Peng Yu wrote: >> When there are a few thousands of files/directories in a directory >> that I want to ls, I experience long wait time (a few seconds on mac). >> I'm wondering if some kind of cache can be built for ls to speed it >> up? Note my ls is installed from macport (not the native mac ls). > > Use "ls -1U" (efficient with coreutils-7.0 or newer) or find. > > Someday GNU ls will use fts, and then it will benefit from > the inode-sorting fts does for some FS types when there are > very many files. Then it will be faster with additional > combinations of options. But even then, it won't beat "ls -1U", > which doesn't call stat at all for FS with useful dirent.d_type.
I went to NEWS to quote that entry and did not find it right away because there was no use of ls -1 or ls -U there. I adjusted it like this: >From 18839ad9c17c3f8fe42210e17c707bfc12fd4b1b Mon Sep 17 00:00:00 2001 From: Jim Meyering <[email protected]> Date: Sat, 25 Jun 2011 07:57:59 +0200 Subject: [PATCH] doc: clarify an improvement from coreutils-7.0 * NEWS (7.0 Improvements): Mention the command: "ls -1U". * cfg.mk (old_NEWS_hash): Update. --- NEWS | 3 ++- cfg.mk | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 619fbdd..d58df26 100644 --- a/NEWS +++ b/NEWS @@ -1082,7 +1082,8 @@ GNU coreutils NEWS -*- outline -*- join has significantly better performance due to better memory management ls now uses constant memory when not sorting and using one_per_line format, - no matter how many files are in a given directory + no matter how many files are in a given directory. I.e., to list a directory + with very many files, ls -1U is much more efficient. od now aligns fields across lines when printing multiple -t specifiers, and no longer prints fields that resulted entirely from diff --git a/cfg.mk b/cfg.mk index 8a0dc9f..ce27cf6 100644 --- a/cfg.mk +++ b/cfg.mk @@ -27,7 +27,7 @@ bootstrap-tools = autoconf,automake,gnulib,bison # Now that we have better tests, make this the default. export VERBOSE = yes -old_NEWS_hash = 792b8dca00fe03568653f7ca2d096d9d +old_NEWS_hash = 7b32bb1296f27ceca68b3a20956cb1b8 # Add an exemption for sc_makefile_at_at_check. _makefile_at_at_check_exceptions = ' && !/^cu_install_program =/' -- 1.7.6.rc2.302.gc2115
