<div dir="ltr"><div class="gmail_default" style="font-family:courier new,monospace"><span style="font-family:arial">2014-11-04 6:35 GMT+08:00 Nico Erfurth </span><span dir="ltr" style="font-family:arial"><<a href="mailto:ne@erfurth.eu" target="_blank">ne@erfurth.eu</a>></span><span style="font-family:arial">:</span><br></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span><br>
</span>Well, the first thing you should ask yourself is "Do I REALLY need such<br>
a large bloom filter". Everything larger than the last level cache will<br>
seriously harm your performance as you are going to trigger a lot of<br>
cache and TLB misses. In general you should target for typical L1-Cache<br>
sizes (16-32KByte) or if REALLY necessary L2-Cache-sizes<br>
(256KByte-32MByte). Everything above that will make the performance go<br>
down rapidly, especially in hashing-application the CPU can't prefetch<br>
data properly as the access-patterns are erratic.<br></blockquote><div><br></div><div><div class="gmail_default" style="font-family:'courier new',monospace;display:inline">​I didn't think of things like cache and TLB misses. Because I try to use BloomFilter and HASH to avoid repeated calculation ​and/or lookups which are time consuming. So, I don't think it will harm performance, unless bloom filter lookup is slower than the calculation, am I right?</div></div><div><div class="gmail_default" style="font-family:'courier new',monospace;display:inline"><br></div></div><div><div class="gmail_default" style="font-family:'courier new',monospace;display:inline">Thanks!</div></div></div></div></div>