----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/128465/#review97496 -----------------------------------------------------------
src/kiconloader.cpp (line 1714) <https://git.reviewboard.kde.org/r/128465/#comment65766> For this function, i would consider changing d->mUnavailableIcons.contains(name) to in iterator lookup like: auto unavailableIconIter = d->mUnavailableIcons.constFind(name); Then use d->mUnavailableIcons.erase(unavailableIconIter); where it needs to be erased. Contains on d->mAvailableIcons is still fine since you only do one lookup on that member. - Mark Gaiser On jul 17, 2016, 11:26 a.m., David Faure wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/128465/ > ----------------------------------------------------------- > > (Updated jul 17, 2016, 11:26 a.m.) > > > Review request for KDE Frameworks and Christoph Feck. > > > Repository: kiconthemes > > > Description > ------- > > Summary: > The code said "unknown icons should be searched for anew each time > [so that installing new icons works]". However this leads to massive > performance issues when opening the file dialog in a dir with many > files for which there is no mimetype icon. > In my case, 293 callgrind.out.* files in one dir (it's ironic that > they would create a huge performance issue...). > > To make both sides happy (installing new icons should still work, but > still unknown icons shouldn't lead to a full disk search every time > icon.isNull() or icon.pixmap() is called), let's re-resolve unknown > icons again only after 5 seconds. > > Benchmark results for loading an unavailable icon : > before: 43 msecs per iteration (1897 disk locations checked) > after: 0.013 msecs per iteration (pixmap found in the on-disk cache) > And the file dialog no longer crawls to a halt in the dir with 293 callgrind > files. > > Test Plan: > > Reviewers: > > Subscribers: > > > Diffs > ----- > > autotests/kiconengine_unittest.cpp 105e86c1e7bc6170c626aa80d34cdb6422acca9c > src/kiconloader.cpp d885318c166f2a996b038218366317615886a14e > > Diff: https://git.reviewboard.kde.org/r/128465/diff/ > > > Testing > ------- > > (described in commit log) > > > Thanks, > > David Faure > >
_______________________________________________ Kde-frameworks-devel mailing list Kde-frameworks-devel@kde.org https://mail.kde.org/mailman/listinfo/kde-frameworks-devel