Review Request 112979: Make use of multi-threading in KItemListSizeHintResolver

Emmanuel Pescosta emmanuelpescosta099 at gmail.com
Sun Jan 5 21:49:21 GMT 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/112979/
-----------------------------------------------------------

(Updated Jan. 5, 2014, 10:49 p.m.)


Review request for Dolphin.


Changes
-------

Calculate all item size hints at once.

The speed up is really small, but theses changes are mostly straightforward and make the code a bit nicer - break
the KStandardItemListWidgetInformant::itemSizeHint beast into three smaller functions.


Repository: kde-baseapps


Description
-------

Make use of multi-threading in KItemListSizeHintResolver.

We need the item size hints of all items in KItemListLayouter::doLayout(),
so instead of resolving it sequentially during layout calculation, 
we can resolve all item size hints in parallel before we start the 
layout calculation.


Diffs (updated)
-----

  dolphin/src/kitemviews/kitemlistview.h dbe9230 
  dolphin/src/kitemviews/kitemlistview.cpp 7f49721 
  dolphin/src/kitemviews/kitemlistwidget.h 55181fa 
  dolphin/src/kitemviews/kstandarditemlistwidget.h 7dd93b2 
  dolphin/src/kitemviews/kstandarditemlistwidget.cpp acdf839 
  dolphin/src/kitemviews/private/kitemlistsizehintresolver.h 486f9b6 
  dolphin/src/kitemviews/private/kitemlistsizehintresolver.cpp 0e2286b 
  dolphin/src/kitemviews/private/kitemlistviewlayouter.h 19b1479 
  dolphin/src/kitemviews/private/kitemlistviewlayouter.cpp 90e8a6d 

Diff: https://git.reviewboard.kde.org/r/112979/diff/


Testing
-------

Everything works fine.

It is about 1/3 faster on my machine (tested with 100k items in item view mode).


Thanks,

Emmanuel Pescosta

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.kde.org/mailman/private/kfm-devel/attachments/20140105/f3d3e9f1/attachment.htm>


More information about the kfm-devel mailing list