On Aug 17, 2014, at 9:22 PM, Eric Fiselier <[email protected]> wrote: > Hi Howard, > > Thanks for the advice. I'll make sure to performance test these changes > without moving forward. > I also appreciate the insight. > > > 0 is a valid bucket count. An upward bump of 0 buckets goes to 2. > 1 is considered not a power of 2, but it rounded up to 2. > 2 is considered prime, not a power of 2. Thus a upward bump off bucket size > 2 goes to 5, not 4. > > Are you referring to the input/output from the __next_power2 function? > Passing 1 to __next_power2 causes undefined behavior because it passes 0 to > __clz. > > I'll consider just backing out these changes and renaming the functions so > they don't imply mathematical accuracy.
I’m not saying you should back them out. I honestly don’t know. I’m just saying one should tread with caution here, and use measurement to guide the way. The bottom line is really really how rehash behaves, since the __functions are all implementation details. And these __functions were purposefully implemented just to serve __hash_table, and are not general purpose facilities. Howard _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
