[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdelibs/kfile
From: Peter Penz <peter.penz () gmx ! at>
Date: 2010-05-23 19:31:01
Message-ID: 20100523193101.64F3DAC8BF () svn ! kde ! org
[Download RAW message or body]
SVN commit 1129796 by ppenz:
Performance optimization: Although KFileItem::isHidden() is quite fast, it gets \
rather expensive when calling n * log2(n) times to sort items. The patch improves the \
performance when loading /usr/bin by around 4 %.
M +8 -4 kdirsortfilterproxymodel.cpp
--- trunk/KDE/kdelibs/kfile/kdirsortfilterproxymodel.cpp #1129795:1129796
@@ -147,18 +147,22 @@
// Folders go before files if the corresponding setting is set.
if (d->m_sortFoldersFirst) {
- if (leftFileItem.isDir() && !rightFileItem.isDir()) {
+ const bool leftItemIsDir = leftFileItem.isDir();
+ const bool rightItemIsDir = rightFileItem.isDir();
+ if (leftItemIsDir && !rightItemIsDir) {
return isLessThan;
- } else if (!leftFileItem.isDir() && rightFileItem.isDir()) {
+ } else if (!leftItemIsDir && rightItemIsDir) {
return !isLessThan;
}
}
// Hidden elements go before visible ones.
- if (leftFileItem.isHidden() && !rightFileItem.isHidden()) {
+ const bool leftItemIsHidden = leftFileItem.isHidden();
+ const bool rightItemIsHidden = rightFileItem.isHidden();
+ if (leftItemIsHidden && !rightItemIsHidden) {
return isLessThan;
- } else if (!leftFileItem.isHidden() && rightFileItem.isHidden()) {
+ } else if (!leftItemIsHidden && rightItemIsHidden) {
return !isLessThan;
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic