Feature Freeze KDE 4.11

Frank Reininghaus frank78ac at googlemail.com
Thu Jun 6 12:17:16 BST 2013


Hi Emmanuel,

2013/6/5 Emmanuel Pescosta:
> Hello Frank,
>
>
>> I was a lot more busy during the last 2 weeks
> No problem!
> I didn't have much time to work on Dolphin either (No TimSort for Dolphin
> 2.3 ...)
> I had a lot of other things to do and the last weekend was a really
> stressful and time
> consuming weekend, because of the big flood in Austria/Germany.

Uh, I heard about the flood - really terrible. People in my city often
complain that we do not have a river here, but sometimes, it looks
like this is actually a good thing.

>> finishing my work to improve some things in KFileItemModelRolesUpdater
> Awesome work.

Thanks.

> I'm really looking forward to the KDE 4.12 dev cycle, maybe we should create
> a small
> list of features for KDE 4.12, so that we can discuss these changes/features
> together
> before we start with the development (No huge and undiscussed patches from
> my side anymore).

Good idea!

I can already say that the first thing that I will look at for KDE
4.12 is another area where the performance is really bad in some
situations: KItemListSelectionManager. The problem is that it uses a
QSet<int> to tell others about the current selection, and creating a
set with N items obviously takes O(N) time. To see the possible bad
effects caused by this detail, open a folder with really many items,
press and hold Shift+down, see how fast everything works, and then
press Shift+End (such that all items are selected) and press and hold
Shift+up. This is much slower because
KItemListSelectionManager::selectedItems() creates a new set with many
items every time it's called.

My idea is to do something similar to QItemSelection, and store the
selection in a class KItemSelection or KItemSet, which internally uses
a list of KItemRanges. In the very common case that all selected items
are in one (or a few) ranges, this should greatly reduce the effort to
update the selection.

Best regards,
Frank




More information about the kfm-devel mailing list