libc -- Remove assembler i386 strlen() routine.
authorVenkatesh Srinivas <me@endeavour.zapto.org>
Sun, 27 Nov 2011 17:57:36 +0000 (09:57 -0800)
committerVenkatesh Srinivas <me@endeavour.zapto.org>
Sun, 27 Nov 2011 17:57:36 +0000 (09:57 -0800)
commitc3ad51703ce506c5c3b1b7f80a8ca78c37aba2b4
treefe29294110267f674442afa3b7662c77d7d4eb51
parent59d38b6efa9c927b3bef7d1549de7a5248fbf3fd
libc -- Remove assembler i386 strlen() routine.

On a number of processors, it is slower than the obvious C version.
(400,000,000 loops, times in sec)

On a 2.66 GHz Core 2:
                asm     C
10-by string    22.9    9.5
68-by string    77.2    19.8
175-by string   173.7   40.6

On a 2.0 GHz Athlon64 3000+:
                asm     C
10-by string    11.3    9.9
68-by string    34.7    34.7
175-by string   78.7    77.6

On a 2.2 GHz Core i7 (nehalem):
                asm     C
10-by string    13.4    5.2
68-by string    33.8    29.5
175-by string   71.6    67.4
lib/libc/i386/string/Makefile.inc
lib/libc/i386/string/strlen.S [deleted file]