Revision 927652
Go back to digest for 22nd February 2009Optimization 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