<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 />




<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  (updated)</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 (updated)</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>