Review Request: Implemented multithreading in KFileItemModelSortAlgorithm
Mark Gaiser
markg85 at gmail.com
Thu Oct 25 18:53:01 BST 2012
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/107025/#review20897
-----------------------------------------------------------
dolphin/src/kitemviews/private/kfileitemmodelsortalgorithm.cpp
<http://git.reviewboard.kde.org/r/107025/#comment16470>
Ehh for a 2 core system this would result in 0..
And with the numberIfThreads / 2 you apparently want to prevent a situation where one sorts a massive folder and all cpu threads get used to do the sorting..
Then why don't you just do this:
if (numberOfThreads > 2) {
const int newNumberOfThreads = numberOfThreads - 1;
...
}
That would allow you to always have one thread free for the other stuff. Thus this implementation will never get executed on dual core systems, only on 2+ core systems. And with that it takes as much threads as it can (again, leaving 1 thread free for other apps).
I also like to ask to postpone merging this feature for now! Not for long, just one or two weeks. I really like to implement the suggestion of Christoph Feck from the KFM-Devel mailing list (in the thread: "Ideas for improving sorting. Goal: under 1 second for 200.000 files."). That might speed up the sorting massively and make multithreading it completely pointless. Why pointless? Well, if the sorting operation can be done under a second for such huge folders then i doubt multithreading is going to speed it up much more.
Again, this is - at this moment - just an idea on the list which i'm trying to implement right now.
- Mark Gaiser
On Oct. 25, 2012, 2:14 p.m., Emmanuel Pescosta wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/107025/
> -----------------------------------------------------------
>
> (Updated Oct. 25, 2012, 2:14 p.m.)
>
>
> Review request for Dolphin and Frank Reininghaus.
>
>
> Description
> -------
>
> Implemented multithreading in KFileItemModelSortAlgorithm.
>
> If more than 100 items to sort and ideal thread count is greater than 1 -> sort them with parallelSort (2 Threads)
>
> Use maximal 2 Threads, because more than 2 Threads are "slower" (more overhead than speed up). (I also have a patch which uses n Threads for sorting, if you want test it ;)
>
>
> Diffs
> -----
>
> dolphin/src/kitemviews/private/kfileitemmodelsortalgorithm.h 3a596df
> dolphin/src/kitemviews/private/kfileitemmodelsortalgorithm.cpp e0aac13
>
> Diff: http://git.reviewboard.kde.org/r/107025/diff/
>
>
> Testing
> -------
>
> About 2 seconds faster with sorting 500.000 files.
> About 5 seconds faster with sorting 1.000.000 files.
>
>
> Thanks,
>
> Emmanuel Pescosta
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.kde.org/mailman/private/kfm-devel/attachments/20121025/c2d888cb/attachment.htm>
More information about the kfm-devel
mailing list