Messages in this thread | | | Date | Tue, 06 Mar 2007 21:40:13 -0800 | From | "H. Peter Anvin" <> | Subject | Re: [patch v2] epoll use a single inode ... |
| |
Linus Torvalds wrote: > > On Tue, 6 Mar 2007, Eric Dumazet wrote: >> I did a user space program, attached to this mail. >> >> I rewrote the reciprocal_div() for i386 so that one multiply is used. > > Ok, this is definitely faster on Core 2 as well, so "numbers talk, > bullshit walks". No more objections. > > (That said, I bet you could do even better for octal and hex numbers, so > if you *really* want to speed things up, you should just make a > special-case routine for each base (there's just three of them), and you > can then also optimize the base-10 thing much better (you can do two > digits at a time by dividing by 100, etc) >
Of course you can do better for octal and hex -- it's just shift and mask.
Decimal is trickier; however, at least on i386 it might make sense to divide by 100 and then use the AAM instruction, or a table lookup, to split it into individual digits.
-hpa - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |