<table><tr><td style="">markg 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/D10702" rel="noreferrer">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #8C98B8;
          color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D10702#213845" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;" rel="noreferrer">D10702#213845</a>, <a href="https://phabricator.kde.org/p/dfaure/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;" rel="noreferrer">@dfaure</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><p>"unlink() in most of the modern filesystems is not affected by the size of the file" doesn't match my experience, I have seen konqueror/dolphin freeze for 10s while deleting a 8GB file (on a somewhat old system, no SSD). And that would actually be the reason for this patch to go in. But on the other hand, I have a hard time believing that this patch doesn't make things slower for the case of many small files, due to the communication overhead with the kioslave (and that's the reason I wrote this code in the first place).</p>

<p>Maybe the right solution is to use QFile::remove if the file is small, and use the kioslave if the file is big. But finding the file size in the first place takes a little bit of time too :-)</p></div>
</blockquote>

<p>Note that the issue here is the blocking part which <a href="https://phabricator.kde.org/p/meven/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;" rel="noreferrer">@meven</a> tried to solve :)<br />
The performance impact this would potentially have is merely the point i happen to notice.</p>

<p>But the blocking issue remains, also with your suggestion of QFile::remove.<br />
An alternative approach (that does not involve std::async) is to pre-scan the list of files for local files and send them all at once to the kioslave, just as a list of files to be deleted. A downside in that approach would be the requirement to change the slave as well to handle this.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R241 KIO</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D10702" rel="noreferrer">https://phabricator.kde.org/D10702</a></div></div><br /><div><strong>To: </strong>meven, Frameworks, dfaure, ngraham, Dolphin, jtamate<br /><strong>Cc: </strong>jtamate, markg, ngraham, Frameworks, michaelh, kmorwinski<br /></div>