<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/124539/">https://git.reviewboard.kde.org/r/124539/</a>
     </td>
    </tr>
   </table>
   <br />



 <p>Ship it!</p>



 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Looks good, just a stale comment.</p></pre>
 <br />







<div>



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="https://git.reviewboard.kde.org/r/124539/diff/2/?file=389406#file389406line24" style="color: black; font-weight: bold; text-decoration: underline;">language/util/kdevhash.h</a>
    <span style="font-weight: normal;">

     (Diff revision 2)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">class KDevHash</pre></td>
   <td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">22</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="c1">//Partial one at a time hash, starting with fnv prime</span></pre></td>
    <th bgcolor="#f0f0f0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">24</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="c1">//Partial one at a time hash, starting with fnv prime</span></pre></td>
  </tr>

 </tbody>

</table>

 <div style="margin-left: 2em;">

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">'what' comments do get stale quickly...</p></pre>
 </div>
</div>
<br />



<p>- Olivier Jean de Gaalon</p>


<br />
<p>On August 2nd, 2015, 2:16 p.m. UTC, Milian Wolff wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for KDevelop.</div>
<div>By Milian Wolff.</div>


<p style="color: grey;"><i>Updated Aug. 2, 2015, 2:16 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kdevplatform
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Instead of hashing every byte of an integral type individually,
we leverage qHash and boost::hash_combine to create an overall
hash. The result should be just as good, as it's proven technology,
but the hash functions themselves become much faster. This is
demonstrated by the newly added benchmark.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Before:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;"><div class="codehilite" style="background: #f8f8f8"><pre style="line-height: 125%"><span style="color: #666666">*********</span> <span style="color: #008000; font-weight: bold">Start</span> <span style="color: #008000; font-weight: bold">testing</span> <span style="color: #008000; font-weight: bold">of</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span> <span style="color: #666666">*********</span>
<span style="color: #008000; font-weight: bold">Config</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">Using</span> <span style="color: #008000; font-weight: bold">QtTest</span> <span style="color: #008000; font-weight: bold">library</span> <span style="color: #008000; font-weight: bold">5</span><span style="color: #0000FF; font-weight: bold">.5.0</span><span style="color: #666666">,</span> <span style="color: #008000; font-weight: bold">Qt</span> <span style="color: #008000; font-weight: bold">5</span><span style="color: #0000FF; font-weight: bold">.5.0</span> <span style="color: #666666">(</span><span style="color: #008000; font-weight: bold">x86_64-little_endian-lp64</span> <span style="color: #008000; font-weight: bold">shared</span> <span style="color: #666666">(</span><span style="color: #008000; font-weight: bold">dynamic</span><span style="color: #666666">)</span> <span style="color: #008000; font-weight: bold">release</span> <span style="color: #008000; font-weight: bold">build</span><span style="color: #666666">;</span> <span style="color: #008000; font-weight: bold">by</span> <span style="color: #008000; font-weight: bold">GCC</span> <span style="color: #008000; font-weight: bold">5</span><span style="color: #0000FF; font-weight: bold">.1.0</span><span style="color: #666666">)</span>
<span style="color: #008000; font-weight: bold">PASS</span>   <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span><span style="color: #666666">:</span><span style="color: #AA22FF">:initTestCase</span><span style="color: #666666">()</span>
<span style="color: #008000; font-weight: bold">PASS</span>   <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span><span style="color: #666666">:</span><span style="color: #AA22FF">:benchHash_int</span><span style="color: #666666">()</span>
<span style="color: #008000; font-weight: bold">RESULT</span> <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span><span style="color: #666666">:</span><span style="color: #AA22FF">:benchHash_int</span><span style="color: #666666">():</span>
     <span style="color: #008000; font-weight: bold">0</span><span style="color: #0000FF; font-weight: bold">.075</span> <span style="color: #008000; font-weight: bold">msecs</span> <span style="color: #008000; font-weight: bold">per</span> <span style="color: #008000; font-weight: bold">iteration</span> <span style="color: #666666">(</span><span style="color: #008000; font-weight: bold">total</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">77</span><span style="color: #666666">,</span> <span style="color: #008000; font-weight: bold">iterations</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">1024</span><span style="color: #666666">)</span>
<span style="color: #008000; font-weight: bold">PASS</span>   <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span><span style="color: #666666">:</span><span style="color: #AA22FF">:benchHash_uint</span><span style="color: #666666">()</span>
<span style="color: #008000; font-weight: bold">RESULT</span> <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span><span style="color: #666666">:</span><span style="color: #AA22FF">:benchHash_uint</span><span style="color: #666666">():</span>
     <span style="color: #008000; font-weight: bold">0</span><span style="color: #0000FF; font-weight: bold">.075</span> <span style="color: #008000; font-weight: bold">msecs</span> <span style="color: #008000; font-weight: bold">per</span> <span style="color: #008000; font-weight: bold">iteration</span> <span style="color: #666666">(</span><span style="color: #008000; font-weight: bold">total</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">77</span><span style="color: #666666">,</span> <span style="color: #008000; font-weight: bold">iterations</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">1024</span><span style="color: #666666">)</span>
<span style="color: #008000; font-weight: bold">PASS</span>   <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span><span style="color: #666666">:</span><span style="color: #AA22FF">:benchHash_quint64</span><span style="color: #666666">()</span>
<span style="color: #008000; font-weight: bold">RESULT</span> <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span><span style="color: #666666">:</span><span style="color: #AA22FF">:benchHash_quint64</span><span style="color: #666666">():</span>
     <span style="color: #008000; font-weight: bold">0</span><span style="color: #0000FF; font-weight: bold">.15</span> <span style="color: #008000; font-weight: bold">msecs</span> <span style="color: #008000; font-weight: bold">per</span> <span style="color: #008000; font-weight: bold">iteration</span> <span style="color: #666666">(</span><span style="color: #008000; font-weight: bold">total</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">77</span><span style="color: #666666">,</span> <span style="color: #008000; font-weight: bold">iterations</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">512</span><span style="color: #666666">)</span>
<span style="color: #008000; font-weight: bold">PASS</span>   <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span><span style="color: #666666">:</span><span style="color: #AA22FF">:benchHash_bool</span><span style="color: #666666">()</span>
<span style="color: #008000; font-weight: bold">RESULT</span> <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span><span style="color: #666666">:</span><span style="color: #AA22FF">:benchHash_bool</span><span style="color: #666666">():</span>
     <span style="color: #008000; font-weight: bold">0</span><span style="color: #0000FF; font-weight: bold">.018</span> <span style="color: #008000; font-weight: bold">msecs</span> <span style="color: #008000; font-weight: bold">per</span> <span style="color: #008000; font-weight: bold">iteration</span> <span style="color: #666666">(</span><span style="color: #008000; font-weight: bold">total</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">77</span><span style="color: #666666">,</span> <span style="color: #008000; font-weight: bold">iterations</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">4096</span><span style="color: #666666">)</span>
<span style="color: #008000; font-weight: bold">PASS</span>   <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span><span style="color: #666666">:</span><span style="color: #AA22FF">:cleanupTestCase</span><span style="color: #666666">()</span>
<span style="color: #008000; font-weight: bold">Totals</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">6</span> <span style="color: #008000; font-weight: bold">passed</span><span style="color: #666666">,</span> <span style="color: #008000; font-weight: bold">0</span> <span style="color: #008000; font-weight: bold">failed</span><span style="color: #666666">,</span> <span style="color: #008000; font-weight: bold">0</span> <span style="color: #008000; font-weight: bold">skipped</span><span style="color: #666666">,</span> <span style="color: #008000; font-weight: bold">0</span> <span style="color: #008000; font-weight: bold">blacklisted</span>
<span style="color: #666666">*********</span> <span style="color: #008000; font-weight: bold">Finished</span> <span style="color: #008000; font-weight: bold">testing</span> <span style="color: #008000; font-weight: bold">of</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span> <span style="color: #666666">*********</span>
</pre></div>
</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">After:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;"><div class="codehilite" style="background: #f8f8f8"><pre style="line-height: 125%"><span style="color: #666666">*********</span> <span style="color: #008000; font-weight: bold">Start</span> <span style="color: #008000; font-weight: bold">testing</span> <span style="color: #008000; font-weight: bold">of</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span> <span style="color: #666666">*********</span>
<span style="color: #008000; font-weight: bold">Config</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">Using</span> <span style="color: #008000; font-weight: bold">QtTest</span> <span style="color: #008000; font-weight: bold">library</span> <span style="color: #008000; font-weight: bold">5</span><span style="color: #0000FF; font-weight: bold">.5.0</span><span style="color: #666666">,</span> <span style="color: #008000; font-weight: bold">Qt</span> <span style="color: #008000; font-weight: bold">5</span><span style="color: #0000FF; font-weight: bold">.5.0</span> <span style="color: #666666">(</span><span style="color: #008000; font-weight: bold">x86_64-little_endian-lp64</span> <span style="color: #008000; font-weight: bold">shared</span> <span style="color: #666666">(</span><span style="color: #008000; font-weight: bold">dynamic</span><span style="color: #666666">)</span> <span style="color: #008000; font-weight: bold">release</span> <span style="color: #008000; font-weight: bold">build</span><span style="color: #666666">;</span> <span style="color: #008000; font-weight: bold">by</span> <span style="color: #008000; font-weight: bold">GCC</span> <span style="color: #008000; font-weight: bold">5</span><span style="color: #0000FF; font-weight: bold">.1.0</span><span style="color: #666666">)</span>
<span style="color: #008000; font-weight: bold">PASS</span>   <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span><span style="color: #666666">:</span><span style="color: #AA22FF">:initTestCase</span><span style="color: #666666">()</span>
<span style="color: #008000; font-weight: bold">PASS</span>   <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span><span style="color: #666666">:</span><span style="color: #AA22FF">:benchHash_int</span><span style="color: #666666">()</span>
<span style="color: #008000; font-weight: bold">RESULT</span> <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span><span style="color: #666666">:</span><span style="color: #AA22FF">:benchHash_int</span><span style="color: #666666">():</span>
     <span style="color: #008000; font-weight: bold">0</span><span style="color: #0000FF; font-weight: bold">.0244</span> <span style="color: #008000; font-weight: bold">msecs</span> <span style="color: #008000; font-weight: bold">per</span> <span style="color: #008000; font-weight: bold">iteration</span> <span style="color: #666666">(</span><span style="color: #008000; font-weight: bold">total</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">100</span><span style="color: #666666">,</span> <span style="color: #008000; font-weight: bold">iterations</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">4096</span><span style="color: #666666">)</span>
<span style="color: #008000; font-weight: bold">PASS</span>   <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span><span style="color: #666666">:</span><span style="color: #AA22FF">:benchHash_uint</span><span style="color: #666666">()</span>
<span style="color: #008000; font-weight: bold">RESULT</span> <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span><span style="color: #666666">:</span><span style="color: #AA22FF">:benchHash_uint</span><span style="color: #666666">():</span>
     <span style="color: #008000; font-weight: bold">0</span><span style="color: #0000FF; font-weight: bold">.024</span> <span style="color: #008000; font-weight: bold">msecs</span> <span style="color: #008000; font-weight: bold">per</span> <span style="color: #008000; font-weight: bold">iteration</span> <span style="color: #666666">(</span><span style="color: #008000; font-weight: bold">total</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">99</span><span style="color: #666666">,</span> <span style="color: #008000; font-weight: bold">iterations</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">4096</span><span style="color: #666666">)</span>
<span style="color: #008000; font-weight: bold">PASS</span>   <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span><span style="color: #666666">:</span><span style="color: #AA22FF">:benchHash_quint64</span><span style="color: #666666">()</span>
<span style="color: #008000; font-weight: bold">RESULT</span> <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span><span style="color: #666666">:</span><span style="color: #AA22FF">:benchHash_quint64</span><span style="color: #666666">():</span>
     <span style="color: #008000; font-weight: bold">0</span><span style="color: #0000FF; font-weight: bold">.025</span> <span style="color: #008000; font-weight: bold">msecs</span> <span style="color: #008000; font-weight: bold">per</span> <span style="color: #008000; font-weight: bold">iteration</span> <span style="color: #666666">(</span><span style="color: #008000; font-weight: bold">total</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">53</span><span style="color: #666666">,</span> <span style="color: #008000; font-weight: bold">iterations</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">2048</span><span style="color: #666666">)</span>
<span style="color: #008000; font-weight: bold">PASS</span>   <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span><span style="color: #666666">:</span><span style="color: #AA22FF">:benchHash_bool</span><span style="color: #666666">()</span>
<span style="color: #008000; font-weight: bold">RESULT</span> <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span><span style="color: #666666">:</span><span style="color: #AA22FF">:benchHash_bool</span><span style="color: #666666">():</span>
     <span style="color: #008000; font-weight: bold">0</span><span style="color: #0000FF; font-weight: bold">.020</span> <span style="color: #008000; font-weight: bold">msecs</span> <span style="color: #008000; font-weight: bold">per</span> <span style="color: #008000; font-weight: bold">iteration</span> <span style="color: #666666">(</span><span style="color: #008000; font-weight: bold">total</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">85</span><span style="color: #666666">,</span> <span style="color: #008000; font-weight: bold">iterations</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">4096</span><span style="color: #666666">)</span>
<span style="color: #008000; font-weight: bold">PASS</span>   <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span><span style="color: #666666">:</span><span style="color: #AA22FF">:cleanupTestCase</span><span style="color: #666666">()</span>
<span style="color: #008000; font-weight: bold">Totals</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">6</span> <span style="color: #008000; font-weight: bold">passed</span><span style="color: #666666">,</span> <span style="color: #008000; font-weight: bold">0</span> <span style="color: #008000; font-weight: bold">failed</span><span style="color: #666666">,</span> <span style="color: #008000; font-weight: bold">0</span> <span style="color: #008000; font-weight: bold">skipped</span><span style="color: #666666">,</span> <span style="color: #008000; font-weight: bold">0</span> <span style="color: #008000; font-weight: bold">blacklisted</span>
<span style="color: #666666">*********</span> <span style="color: #008000; font-weight: bold">Finished</span> <span style="color: #008000; font-weight: bold">testing</span> <span style="color: #008000; font-weight: bold">of</span> <span style="color: #008000; font-weight: bold">TestKDevHash</span> <span style="color: #666666">*********</span>
</pre></div>
</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">REVIEW: 124539</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">compiled and ran tests, everything seems to work fine</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>CMakeLists.txt <span style="color: grey">(70174433c9d9b88595254887c4f06c12aa7043e0)</span></li>

 <li>language/CMakeLists.txt <span style="color: grey">(2c2b0285b68d209e07af185c43dcf157507f5a54)</span></li>

 <li>language/util/kdevhash.h <span style="color: grey">(40c32935aec9c7e5552769e780c033e96cf63166)</span></li>

 <li>language/util/tests/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>

 <li>language/util/tests/test_kdevhash.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plugins/projectfilter/projectfilter.h <span style="color: grey">(014e5a1eabbb3a2d9e71baeee3e38643cb8649e7)</span></li>

 <li>serialization/tests/test_indexedstring.cpp <span style="color: grey">(f0c7958ac33c6fc6c4febbaa106e0ca30f8a60f8)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/124539/diff/" style="margin-left: 3em;">View Diff</a></p>






  </td>
 </tr>
</table>







  </div>
 </body>
</html>