Revision 927652

Go back to digest for 22nd February 2009

Optimization in KDE Base

David Faure committed changes in /trunk/KDE/kdelibs/kio:

Speed up deletion of deep directories by speeding up the slow part of it: the recursive listing
- no need to stat() before opendir(), we can use the error codes from opendir to handle "it's a file" and "it doesn't exist"
- no need to stat() every file in this particular case of recursive-listing-for-deletion, we just need to know if file/dir/symlink, which opendir tells us.

The testcase from bug 174144 (5000 subdirs) went from 20+ seconds to 13 seconds here.
Better but not perfect, since this testcase should ideally take about 3 seconds.

File Changes

Modified 3 files
  • /trunk/KDE/kdelibs
  •   /kio/kio/deletejob.cpp
  •   /kioslave/file/file.cpp
  •   /kioslave/file/file_unix.cpp
3 files changed in total