Searched hist:b39a734097d5095d63eb9c709a6aaf965633bb01 (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/lib/ |
H A D | vsprintf.c | diff b39a734097d5095d63eb9c709a6aaf965633bb01 Mon Jul 16 01:41:54 CDT 2007 Denis Vlasenko <vda.linux@googlemail.com> vsprintf.c: optimizing, part 1 (easy and obvious stuff)
* There is no point in having full "0...9a...z" constant vector, if we use only "0...9a...f" (and "x" for "0x").
* Post-decrement usually needs a few more instructions, so use pre decrement instead where makes sense: - while (i < precision--) { + while (i <= --precision) {
* if base != 10 (=> base 8 or 16), we can avoid using division in a loop and use mask/shift, obtaining much faster conversion. (More complex optimization for base 10 case is in the second patch).
Overall, size vsprintf.o shows ~80 bytes smaller text section with this patch applied.
Signed-off-by: Douglas W Jones <jones@cs.uiowa.edu> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|