<table><tr><td style="">pinaraf created this revision.<br />Restricted Application added a project: KDE PIM.<br />Restricted Application added a subscriber: KDE PIM.<br />pinaraf requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D12480">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><ol class="remarkup-list">
<li class="remarkup-list-item">Fetch title, pubdate, hash and status in a single storage call</li>
</ol>

<p>Even with MK4, the performance gain is sensible.<br />
For medium sized archives (~25k articles), it's feeling faster.<br />
For huge archives (>100k articles), it is human measurably faster.</p>

<ol class="remarkup-list" start="2">
<li class="remarkup-list-item">Reuse the FeedStorage instead of fetching it for each article</li>
</ol>

<p>For huge archives, this helps performance a bit</p>

<ol class="remarkup-list" start="3">
<li class="remarkup-list-item">Drop useless call to isNull in model</li>
</ol>

<p>All calls are safe even when the article is null.<br />
And their results will be similar to QVariant().<br />
This call is thus useless, and one of the biggest 'perf' offender</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R201 Akregator</div></div></div><br /><div><strong>BRANCH</strong><div><div>performances</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D12480">https://phabricator.kde.org/D12480</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>interfaces/article.h<br />
interfaces/feedstorage.h<br />
plugins/mk4storage/feedstoragemk4impl.cpp<br />
plugins/mk4storage/feedstoragemk4impl.h<br />
src/article.cpp<br />
src/articlemodel.cpp<br />
src/dummystorage/feedstoragedummyimpl.cpp<br />
src/dummystorage/feedstoragedummyimpl.h<br />
src/feed/feed.cpp</div></div></div><br /><div><strong>To: </strong>pinaraf<br /><strong>Cc: </strong>KDE PIM, dvasin, winterz, vkrause, mlaurent, knauss, dvratil<br /></div>