PATCH SlaveBase::listEntry() faster dir listing

Stephan Kulow coolo at kde.org
Sun May 26 09:22:18 BST 2002


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sonntag, 26. Mai 2002 03:06, aleXXX wrote:
> Hi,
>
> I noticed that when changing with konqy into qt-copy/doc/html, sorting the
> dir once takes 2.2 seconds. It gets sorted after every chunk of incoming
> file items. Sometimes it happens that I get 1100 items at once (i.e. 2.2
> seconds sorting) and then the rest of 150 item in the second chunk (again 2
> seconds sorting).
> So I tuned the calculation of listEntryCurrentSize a little bit so that
> this shouldn't happen anymore (at least less probably).
> I check whether all remaining items may arrive within maximum_updatetime,
> if this is true, listEntryCurrentSize is set big enough to take them all.
> If we are below min_updatetime, I calculate how much items might arrive
> within min_updatetime and take twice as much (200 ms is still fast enough).
>
> The patch makes e.g. listing of qt-copy/doc/html on my system noticable
> faster. It assumes that totalSize() is always  called before the first
> listEntry().
>
> Bye
> Alex
>
> (the patch also contains the changed signal handler)
Which didn't make it easier to read. Can't you take out such patches before 
you make new ones?

Anyway: There once was code in kfile that did the sorting a bit different than
what it's now. It sorted the chunk (e.g. the 150 items) and then used a 
merging algorithm to get the new chunk in the whole list instead of sorting 
the new list from scratch. But I guess you only notice the difference if you 
have 7000 instead of the 1200 items. For the 1200 items (and problably quite
some other cases), your patch helps anyway, so I think you should commit
(the listing part :)

Greetings, Stephan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE88Js+wFSBhlBjoJYRAv95AJ4yowQyW6a3bEH9eT0ILRpPZh8aSwCg3z4T
kvIE5+BxddiwtxcX6QyAwZw=
=iqEA
-----END PGP SIGNATURE-----





More information about the kde-core-devel mailing list