Hi Jon,

Jon Griffiths <[email protected]> writes:

>  Changing the line to:
>  
>  if(fNumItems > 1 && fNumItems <= setT->getBitCountInRange(fLeafIndexes[1], 
> fLeafIndexes[fNumItems])*log((float)fNumItems))
>      
>  Avoids both the log() call and getBitCountInRange() when this is the case,  
> and 
> resulted in ~7% speedup for us.
>  
>  If this isn't contentious, it would be great to see this change in mainline.

This sounds good to me and I will make sure it gets in before the next
release. Thanks for the analysis and the suggestion.

Boris

-- 
Boris Kolpackov, Code Synthesis        http://codesynthesis.com/~boris/blog
Open-source XML data binding for C++   http://codesynthesis.com/products/xsd
XML data binding for embedded systems  http://codesynthesis.com/products/xsde
Command line interface to C++ compiler http://codesynthesis.com/projects/cli

Reply via email to