<table><tr><td style="">dfaure edited the summary of this revision. <a href="https://phabricator.kde.org/transactions/detail/PHID-XACT-DREV-tngf43susttxssh/" rel="noreferrer">(Show Details)</a><br />dfaure edited the test plan for this revision. <a href="https://phabricator.kde.org/transactions/detail/PHID-XACT-DREV-2uonip6iz7xc6m5/" rel="noreferrer">(Show Details)</a>
</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/D8465" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>CHANGES TO REVISION SUMMARY</strong><div><div style="white-space: pre-wrap; color: #74777D;"><div style="padding: 8px 0;">...</div>http://www.davidfaure.fr/kde/perf_hotspot_itemsync.png<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"><br />
<br />
I ported the code to the std::move (the algorithm), but I'm not</span><br />
<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">sure how to test it,</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">    <br />
I ported</span> the <span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">itemsynctest unittest fails for me even</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">code to the std::move (the algorithm)</span><br />
<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">before this change.</span></div></div></div><br /><div><strong>CHANGES TO TEST PLAN</strong><div><div style="white-space: pre-wrap; color: #74777D;"><span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">none yet.</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">Added a benchmark to itemsynctest.<br />
    <br />
Before:<br />
     RESULT : ItemsyncTest::testFullSyncManyItems():<br />
         368,935,368.19 CPU cycles per iteration (total: 36,893,536,820, iterations: 100)<br />
    <br />
After:<br />
     RESULT : ItemsyncTest::testFullSyncManyItems():<br />
         349,899,659.49 CPU cycles per iteration (total: 34,989,965,949, iterations: 100)<br />
    <br />
    => 5% faster (for the whole of ItemSync, which runs much more than this piece of code)<br />
    <br />
Went down to 346 million after https://commits.kde.org/kcoreaddons/42e1d6e8e7bf7f2738fbe15778b23a84c104e8a8<br />
<br />
(Qt + Akonadi built in release-with-debug;</span> <span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">It compiles</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">KF5 in debug</span>, <span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">though :-</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">but not much KF5 code being run here</span>)</div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R165 Akonadi </div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D8465" rel="noreferrer">https://phabricator.kde.org/D8465</a></div></div><br /><div><strong>To: </strong>dfaure, dvratil<br /><strong>Cc: </strong>mwolff, KDE PIM, dvasin, winterz, vkrause, mlaurent, knauss, dvratil<br /></div>