<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="#e0e0e0" width="100%" cellpadding="12" style="border: 1px gray solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>
   <h1 style="margin: 0; padding: 0; font-size: 10pt;">This change has been marked as submitted.</h1>
  </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. 12, 2015, 9:07 a.m.</i></p>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Changes</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;">Submitted with commit 94fce890fca435a5dd0de13a683ac209a7e78610 by Milian Wolff to branch master.</pre>
  </td>
 </tr>
</table>







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