<table><tr><td style="">broulik created this revision.<br />broulik added reviewers: Frameworks, davidedmundson.<br />Restricted Application added a project: Frameworks.
</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/D9028" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><ul class="remarkup-list">
<li class="remarkup-list-item">Avoid double lookup (contains+value)</li>
<li class="remarkup-list-item">Just <tt style="background: #ebebeb; font-size: 13px;">delete take()</tt> instead of contains+value+remove+delete</li>
<li class="remarkup-list-item">Delay connecting to DBus change signals (this is done in other places, too)</li>
<li class="remarkup-list-item">Use range-for</li>
<li class="remarkup-list-item">Use iterator's key() instead of creating temporary <tt style="background: #ebebeb; font-size: 13px;">keys()</tt> list</li>
</ul></div></div><br /><div><strong>TEST PLAN</strong><div><p>It creates 22 device backends on Dolphin startup, delaying connecting to later saves 1.5ms startup in total.</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Devices still properly populated</li>
<li class="remarkup-list-item">Mounting and unmounting devices still updates places list live</li>
</ul></div></div><br /><div><strong>REPOSITORY</strong><div><div>R245 Solid</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D9028" rel="noreferrer">https://phabricator.kde.org/D9028</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>src/solid/devices/backends/udisks2/udisksdevicebackend.cpp</div></div></div><br /><div><strong>To: </strong>broulik, Frameworks, davidedmundson<br /></div>