]> Savannah Git Hosting - gnulib.git/commit
fts: enable leaf optimization for XFS
authorPádraig Brady <P@draigBrady.com>
Sun, 20 Dec 2015 23:46:05 +0000 (23:46 +0000)
committerPádraig Brady <P@draigBrady.com>
Sun, 20 Dec 2015 23:55:38 +0000 (23:55 +0000)
commitd459ec6a4f97001a57d9299143ea9a5f6b1f313b
tree902e5c027f94109f3e07ef4a165989a6937eacce
parent284866e96d4cbcf3ee82f7cf735c66cffd90b24c
fts: enable leaf optimization for XFS

XFS provides usable dirent.d_type only for DT_DIR,
but the noleaf optimization still applies, as confirmed with:

  test $(($(find . -maxdepth 1 -type d | wc -l) + 1)) = $(stat -c %h .)

Enabling this gives significant traversal speedup.
Testing with find(1) gives:

  $ time find/find-before /usr/share >/dev/null
  real    0m0.410s
  user    0m0.145s
  sys     0m0.266s

  $ time find/find-after /usr/share >/dev/null
  real    0m0.278s
  user    0m0.147s
  sys     0m0.131s

* lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
ChangeLog
lib/fts.c