From kfm-devel Thu Jun 06 11:17:16 2013 From: Frank Reininghaus Date: Thu, 06 Jun 2013 11:17:16 +0000 To: kfm-devel Subject: Re: Feature Freeze KDE 4.11 Message-Id: X-MARC-Message: https://marc.info/?l=kfm-devel&m=137051745207935 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 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