Revision 862165

Go back to digest for 21st September 2008

Bug Fixes in KDE Base

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

Finally fixing bug 43356: "deleting files in directories with more than 3000 files gets painfully slow" (from 2002, with 260 votes)

With model/view we can finally update the view in a better way: by chunks instead of item-after-item. This required adding a itemsDeleted signal to KDirLister, and some figure-out-consecutive-removals logic in KDirModel using QBitArray (for beginInsertRows).

Results:
Deleting 5000 files with konqueror-4.1: 8 minutes (30 seconds stat'ing, 5 seconds deleting, and then 7'25" until the view refreshes).

Deleting 5000 files with konqueror-trunk: 15 seconds (2 seconds stat+deleting, 13 seconds until the view refreshes).

File Changes

Modified 8 files
  • /trunk/KDE/kdelibs/kio
  •   /kio/kdirlister.cpp
  •   /kio/kdirlister.h
  •   /kio/kdirlister_p.h
  •   /kio/kdirmodel.cpp
  •   /kio/kdirmodel.h
  •   /tests/kdirlistertest.cpp
  •   /tests/kdirmodeltest.cpp
  •   /tests/kdirmodeltest.h
8 files changed in total