<table><tr><td style="">jtamate updated this revision to Diff 29574.<br />jtamate edited the summary of this revision. <a href="https://phabricator.kde.org/transactions/detail/PHID-XACT-DREV-his436xangnqzin/">(Show Details)</a><br />jtamate edited the test plan for this revision. <a href="https://phabricator.kde.org/transactions/detail/PHID-XACT-DREV-sl3i3rdqb7ksrat/">(Show Details)</a><br />jtamate added a comment.
</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/D11282">View Revision</a></tr></table><br /><div><div><p>Depends on <a href="https://phabricator.kde.org/D10742" class="remarkup-link" target="_blank" rel="noreferrer">https://phabricator.kde.org/D10742</a>, including the diff.</p></div></div><br /><div><strong>CHANGES TO REVISION SUMMARY</strong><div><div style="white-space: pre-wrap; color: #74777D;"><span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">From O(n) in the worst case to at most Log2(n) + O(1) comparisons.<br />
Unfortunately, fetching the files in a directory is now a little more expensive</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">Changed the Data Structure used by findByUrl from a QList to a QHash</span>.<br />
<br />
CCBUG: 320231<span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"><br />
</span></div></div></div><br /><div><strong>CHANGES TO TEST PLAN</strong><div><div style="white-space: pre-wrap; color: #74777D;">findByUrl was slow, for example, renaming 50.000 small files, it has to go through a list of 50.000 items 50.000 times, so renaming that number of files takes more than an hour, now it takes less time, but baloo re-scanning and <span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">the </span>dirlister re-scanning the directory doesn't help to reduce the time<span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">. <br />
Renaming 3.000 small local files is done in less than 10 seconds.<br />
<br />
Moving 50.000 small files from sftp://127.0.0.1/borrar to /borrar1, the first step, fetching data from the dirlister took more than 1 minute, now is instantaneous</span>.<br />
<br />
<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">Moving 50.000 small files from sftp://127.0.0.1/borrar to /borrar1, the first step, fetching data from the dirlister took more than 1 minute, now it is instantaneous</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">Deleting 30.000 small local files from dolphin takes less than a second</span>.</div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R241 KIO</div></div></div><br /><div><strong>CHANGES SINCE LAST UPDATE</strong><div><a href="https://phabricator.kde.org/D11282?vs=29388&id=29574">https://phabricator.kde.org/D11282?vs=29388&id=29574</a></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D11282">https://phabricator.kde.org/D11282</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>src/core/kcoredirlister.cpp<br />
src/core/kcoredirlister_p.h</div></div></div><br /><div><strong>To: </strong>jtamate, Frameworks, dfaure<br /><strong>Cc: </strong>mwolff, michaelh, ngraham<br /></div>