>> On Sat 16 May 2026 at 14:07:30 (-0400), [email protected] wrote:

> I tend to avoid the use of find (1) because I never really
> "internalized" the syntax) and (2) on the assumption that it hits the
> disk "harder" than locate.

  It does.  "locate" reads a list of files that's been compressed using
  repeating strings on each line, so it hits the CPU a little harder but
  it has to read the entire file.

  At the very least, "find" has to read directories recursively to get
  filenames, and if you use flags like "-mtime", it has to stat() each file
  as it goes.  GNU find tries to optimize this by avoiding repeated stat()
  calls, but they add up especially on spinning rust.

  I tried finding files modified in the last hour on a spinning-rust
  filesystem with several million files, and it took over an hour to
  complete.  ZFS is *much* better at this -- I had created a snapshot of
  that filesystem at midnight, and listing the adds/deletes/etc between
  the snapshot and the current filesystem took less than 15 seconds.

  I found that SQlite competes very favorably with "locate", even for
  filesystems containing over 20 million files, but that's a longer posting.

> I mean, updatedb runs once a day (on my systems) and I assume (I know)
> that its database is mostly cached somewhere, but I don't really know
> how it finds new files.

  It doesn't until you rerun updatedb.

-- 
Karl Vogel                      I don't speak for anyone but myself

Why you might be the reincarnation of someone famous #11:
When your boss criticizes your sales projection figures, you hack off your ear.
                                        --The Top Five List, [email protected]

Reply via email to