On Tue, 13 Apr 2010 09:56:34 -0400, Adam Ruppe <destructiona...@gmail.com> wrote:

Jerome's highbit function is the same as std.intrinsic.bsr. I wonder
which is faster?

Just a note, this code should be runnable in C++, because the compiler is written in C++. Is bsr available there?

Recompiling with -inline -O -release cuts the raw numbers about in
half, but keeps about the same difference, leading me to think
overhead amounts for a fair amount of the percentage instead of actual
implementation. The new averages are 1134 and 853.

Probably the inlining accounts for the savings here. Calling a function is rather expensive.

I've gotta say, your implementation of the function is better than I
would have done though. Without bsr, I probably would have looped,
shifted, and tested each individual bit...

I never would have thought of doing a binary search for the high bit, it is definitely a novel idea to me :)

-Steve

Reply via email to