meven added a comment.

  Here is the script I have been using : 
https://gist.github.com/meven/f0b2a36c61240e1d6e19753afd1d3d68
  
  My benchmark logic is :
  Create a folder with x files of k sizes.
  Copy this folder.
  Delete this folder using kfmclient, measuring the elapsed time
  
  I have used 100000 files of 1 byte, 100000 of 1kb, 1000 of 3mb, 3 of 1Gb.
  
  I ran this on a 2TB hard disc drive.
  
  Here are the very limited results:
  
    In seconds
                                        avg
    before
    1b          1,586   1,738   1,684   1,66933333333333
    1k          1,719   1,777   1,649   1,715
    3mb         9,206   9,164   8,419   8,92966666666667
    1gb         30,736  20,559  29,981  27,092
    
    after
    1b          4,637   1,721   1,599   2,65233333333333
    1k          32,186  1,726   1,685   11,8656666666667
    3mb         2,491   7,287   7,896   5,89133333333333
    1gb         1,464   13,344  17,271  10,693
  
  It appears my benchmark methodology is mostly of no use due to huge outliners 
values.
  I am using kfmclient, but more than time I would need to measure the memory 
overhead also of using the kioslave instead of the fast-path but this could be 
tricky with cross-process execution.
  
  Also I think that if my patch was to get through we nay need to treat as a 
signature change: the behavior of the KIO::DeleteJob would change quite a bit 
from being most of the time synchronous to being asynchronous.
  Some App may have built on the assumption (knowingly or not) that the 
function only returns after the file(s) have been removed, which would not the 
case after this patch.
  An opt-in boolean option could be needed to trigger the new behavior while 
keeping the old one for applications that have been updated/reviewed yet and 
perhaps mark as deprecated the old behavior.
  
  Also I would like to take the time to add some tests, although I need to 
learn about how to write some and a .
  
  I would much apprieciate feedback.
  As the solution is not obvious and still in debatable to me, we could set up 
some IRC meeting. I will be hanging on #kde-fm.

REPOSITORY
  R241 KIO

REVISION DETAIL
  https://phabricator.kde.org/D10702

To: meven, #frameworks, dfaure, ngraham, #dolphin, jtamate
Cc: kde-frameworks-devel, jtamate, markg, ngraham, #frameworks, michaelh, bruns

Reply via email to