Spencer Baugh <sbaugh@janestreet.com> writes:
Not to derail too much, but find as a subprocess has one substantial
advantage over find in Lisp: It can run in parallel with Emacs, so that
we actually use multiple CPU cores.
Between that, and the remote support part, I personally much prefer find
to be a subprocess rather than in Lisp. I don't think optimizing
directory-files-recursively is a great solution.
(Really it's entirely plausible that Emacs could be improved by
*removing* directory-files-recursively, in favor of invoking find as a
subprocess: faster, parallelized execution, and better remote support.)
find is only present in the default installations of Unix-like systems,
so it doesn't work without additional configuration on MS-Windows or
MS-DOS. project.el and rgrep fail to work on USG Unix because they both
use `-path'.
Programs that use find should fall back to directory-file-recursively
when any of the situations above are detected.