<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Hi all:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">One item of particular interest to me from Brocon was this tidbit from Packetsled&#39;s lightning talk:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">



















<p class="MsoNormal">&quot;Optimizing core loops (like net_run() ) with preprocessor branch prediction macros likely() and unlikely() for ~3% speedup. We optimize for maximum load.&quot;</p><p class="MsoNormal"><br></p><p class="MsoNormal">After conversing with Leo Linsky of Packetsled, I wanted to initiate a conversation about easy performance improvements that may be within fairly easy reach:</p><p class="MsoNormal"><br></p><p class="MsoNormal">1. Obviously, branch prediction, as mentioned above.  3% speedup for (almost) free is nothing to sneeze at.</p><p class="MsoNormal">2. Profiling bro to identify other hot spots that could benefit from optimization.</p><p class="MsoNormal">3. Best practices for compiling Bro (compiler options, etc.)<br></p><p class="MsoNormal">4. Data structure revisit (hash functions, perhaps?)</p><p class="MsoNormal">etc.</p><p class="MsoNormal"><br></p><p class="MsoNormal">Perhaps the Bro core team is working on some, all, or a lot more in this area.  It might be nice to get the Bro community involved too.  Is anyone else interested?</p><p class="MsoNormal"><br></p><p class="MsoNormal">Jim Mellander</p><p class="MsoNormal">ESNet</p><p class="MsoNormal"><br></p><p class="MsoNormal"><br></p><p class="MsoNormal"><br></p><p class="MsoNormal"><br>





</p></div></div>