<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi Robert,</p>
    <p>I did quite a few runs in a more or less controlled setting
      (normal KDE desktop with a few terminals open but no "real"
      activity):</p>
    <p>~1400 images to read</p>
    <p>rm index.xml exif-info.db .thumbnails/*<br>
      kphotoalbum -c index.xml</p>
    <p>before each run, I cleared the cache in a separate window (as
      root):</p>
    <p>sync;echo 3 > /proc/sys/vm/drop_caches <br>
    </p>
    <p>These are the results sorted by duration (only the time it takes
      to read/process the images after rescan...):<br>
    </p>
    <p> </p>
    <table cellspacing="0" border="0">
      <colgroup width="88"></colgroup> <colgroup width="77"></colgroup>
      <colgroup width="55"></colgroup> <colgroup width="107"></colgroup>
      <colgroup width="131"></colgroup> <colgroup width="111"></colgroup>
      <colgroup width="55"></colgroup> <colgroup width="75"></colgroup>
      <tbody>
        <tr>
          <td height="17" align="left">storage</td>
          <td align="left">Preset</td>
          <td align="center">preload</td>
          <td align="center">Threads preload</td>
          <td align="center">Threads pre thumbs</td>
          <td align="center">Threads Thumbs</td>
          <td align="center">second</td>
          <td align="center">avg cpu %</td>
        </tr>
        <tr>
          <td height="17" align="left">Nfs – repeat</td>
          <td align="left">manual</td>
          <td align="center">x</td>
          <td align="center">8</td>
          <td align="center">8</td>
          <td align="center">8</td>
          <td align="center">13</td>
          <td align="center">96.7</td>
        </tr>
        <tr>
          <td height="17" align="left">ssd</td>
          <td align="left">manual</td>
          <td align="center">x</td>
          <td align="center">4</td>
          <td align="center">4</td>
          <td align="center">4</td>
          <td align="center">18</td>
          <td align="center">69.2</td>
        </tr>
        <tr>
          <td height="17" align="left">ssd</td>
          <td align="left">manual</td>
          <td align="center">x</td>
          <td align="center">4</td>
          <td align="center">4</td>
          <td align="center">0</td>
          <td align="center">18</td>
          <td align="center">92.6</td>
        </tr>
        <tr>
          <td height="17" align="left">ssd</td>
          <td align="left">manual</td>
          <td align="center">x</td>
          <td align="center">2</td>
          <td align="center">2</td>
          <td align="center">2</td>
          <td align="center">19</td>
          <td align="center">44.2</td>
        </tr>
        <tr>
          <td height="17" align="left">Nfs – repeat</td>
          <td align="left">NET</td>
          <td align="center">x</td>
          <td align="center">4</td>
          <td align="center">4</td>
          <td align="center">4</td>
          <td align="center">19</td>
          <td align="center">75.2</td>
        </tr>
        <tr>
          <td height="17" align="left">ssd</td>
          <td align="left">manual</td>
          <td align="center">0</td>
          <td align="center">1</td>
          <td align="center">1</td>
          <td align="center">4</td>
          <td align="center">20</td>
          <td align="center">61.0</td>
        </tr>
        <tr>
          <td height="17" align="left">ssd</td>
          <td align="left">manual</td>
          <td align="center">0</td>
          <td align="center">1</td>
          <td align="center">1</td>
          <td align="center">0</td>
          <td align="center">20</td>
          <td align="center">76.1</td>
        </tr>
        <tr>
          <td height="17" align="left">Ssd – repeat</td>
          <td align="left">SSD SATA</td>
          <td align="center">x</td>
          <td align="center">4</td>
          <td align="center">4</td>
          <td align="center">4</td>
          <td align="center">20</td>
          <td align="center">76.3</td>
        </tr>
        <tr>
          <td height="17" align="left">ssd</td>
          <td align="left">manual</td>
          <td align="center">x</td>
          <td align="center">8</td>
          <td align="center">8</td>
          <td align="center">8</td>
          <td align="center">20</td>
          <td align="center">78.6</td>
        </tr>
        <tr>
          <td height="17" align="left">ssd</td>
          <td align="left">manual</td>
          <td align="center">x</td>
          <td align="center">2</td>
          <td align="center">4</td>
          <td align="center">0</td>
          <td align="center">20</td>
          <td align="center">87.4</td>
        </tr>
        <tr>
          <td height="17" align="left">ssd</td>
          <td align="left">manual</td>
          <td align="center">x</td>
          <td align="center">1</td>
          <td align="center">1</td>
          <td align="center">0</td>
          <td align="center">23</td>
          <td align="center">73.7</td>
        </tr>
        <tr>
          <td height="17" align="left">ssd</td>
          <td align="left">SSD SATA</td>
          <td align="center">x</td>
          <td align="center">4</td>
          <td align="center">4</td>
          <td align="center">4</td>
          <td align="center">36</td>
          <td align="center">43.9</td>
        </tr>
        <tr>
          <td height="17" align="left">nfs</td>
          <td align="left">manual</td>
          <td align="center">0</td>
          <td align="center">4</td>
          <td align="center">4</td>
          <td align="center">4</td>
          <td align="center">154</td>
          <td align="center">13.1</td>
        </tr>
        <tr>
          <td height="17" align="left">nfs</td>
          <td align="left">manual</td>
          <td align="center">x</td>
          <td align="center">4</td>
          <td align="center">4</td>
          <td align="center">4</td>
          <td align="center">154</td>
          <td align="center">16.6</td>
        </tr>
        <tr>
          <td height="17" align="left">nfs</td>
          <td align="left">manual</td>
          <td align="center">x</td>
          <td align="center">8</td>
          <td align="center">8</td>
          <td align="center">8</td>
          <td align="center">154</td>
          <td align="center">16.8</td>
        </tr>
        <tr>
          <td height="17" align="left">nfs</td>
          <td align="left">manual</td>
          <td align="center">x</td>
          <td align="center">4</td>
          <td align="center">4</td>
          <td align="center">0</td>
          <td align="center">155</td>
          <td align="center">16.5</td>
        </tr>
        <tr>
          <td height="17" align="left">nfs</td>
          <td align="left">manual</td>
          <td align="center">x</td>
          <td align="center">2</td>
          <td align="center">2</td>
          <td align="center">2</td>
          <td align="center">162</td>
          <td align="center">15.7</td>
        </tr>
        <tr>
          <td height="17" align="left">nfs</td>
          <td align="left">manual</td>
          <td align="center">0</td>
          <td align="center">1</td>
          <td align="center">1</td>
          <td align="center">4</td>
          <td align="center">175</td>
          <td align="center">10.8</td>
        </tr>
        <tr>
          <td height="17" align="left">nfs</td>
          <td align="left">manual</td>
          <td align="center">0</td>
          <td align="center">1</td>
          <td align="center">1</td>
          <td align="center">0</td>
          <td align="center">175</td>
          <td align="center">10.9</td>
        </tr>
        <tr>
          <td height="17" align="left">nfs</td>
          <td align="left">NET</td>
          <td align="center">0</td>
          <td align="center">1</td>
          <td align="center">1</td>
          <td align="center">0</td>
          <td align="center">176</td>
          <td align="center">11.0</td>
        </tr>
      </tbody>
    </table>
    <p>
      <style type="text/css">
                body,div,table,thead,tbody,tfoot,tr,th,td,p { font-family:"Liberation Sans"; font-size:x-small }
                a.comment-indicator:hover + comment { background:#ffd; position:absolute; display:block; border:1px solid black; padding:0.5em;  }
                a.comment-indicator { background:red; display:inline-block; border:1px solid black; width:0.5em; height:0.5em;  }
                comment { display:none;  }
        </style></p>
    <p>It took a while until I found out, that the thread settings have
      an effect only if the checkbox "do preload" is checked.</p>
    <p>There are 3 lines with "repeat" in the table. These runs were
      done without clearing the cache beforehand.</p>
    <p>If the images were copied or otherwise read by any process before
      reading the images, the files get transferred from memory instead
      from disk. If you have enough memory.</p>
    <p>My NFS is on a RAID1 spinning rust server via GB-Ethernet. While
      reading from NFS, the transfer rate was around 70 MB per sec in
      all these cases. My ssd delivers around 480 MB per sec.</p>
    <p>Thus, the repeat - results are for an optimal disk (reading from
      memory).</p>
    <p>My machine is a Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz (skylake,
      4 real cores with hyperthreading enabled, reporting as 8 cores in
      top), memory is 32 GB.</p>
    <p>The measurements were done with: dstat -a --output xxx.csv</p>
    <p>This gives one reading per second. I just counted the seconds
      with high transfer or CPU rates. Thus the values might be off by a
      second or two.<br>
    </p>
    <p><br>
    </p>
    <p>My conclusions from this test are:</p>
    <p>- preloading speeds things up, at least a little. <br>
    </p>
    <p>- funny enough, nfs seems to gain a bit more (175 to 155 sec)
      than the ssd (20 to 18 sec).</p>
    <p>- using as many threads as there are logical cpus does not clog
      the pipes: nfs just spits out its usual 70 MB/sec and takes its
      time without having any adverse effects on the rest of the system
      (except using a lot of bandwidth). Thus, my worries were not
      justified.<br>
    </p>
    <p>- The presets are slower than manual settings. <br>
    </p>
    <p>- I will keep the x-8-8-8 scheme for the time being (even while
      working over nfs). I might just find a few files in the cache. <br>
    </p>
    <p>- It might be a good idea to start up KPA directly after you
      copied the images into their folders: copy also loads the files
      into the cache where KPA finds them faster than from disk. (I
      tested this.)</p>
    <p>- it is absolutely necessary to flush the cache before you do any
      of these test. Otherwise you get overly fast results.</p>
    <p>- for tests of different SSDs you would need more images to get a
      better resolution.</p>
    <p><br>
    </p>
    <p>I like what I saw and will keep the current version
      (v5.5-150-g323e2b29) "in production" (until the next tests are
      due).<br>
    </p>
    <p>Thanks for working on and improving KPA!</p>
    <p>Cheers, Andreas<br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
  </body>
</html>