svn commit: r213326 - head/lib/libc/i386/string
Jilles Tjoelker
jilles at FreeBSD.org
Fri Oct 1 13:10:11 UTC 2010
Author: jilles
Date: Fri Oct 1 13:10:11 2010
New Revision: 213326
URL: http://svn.freebsd.org/changeset/base/213326
Log:
libc: Remove the i386 assembler version of strlen(3).
On anything modern, the C version, which processes a word at a time, is much
faster. The Intel optimization manual explicitly warns against using REP
prefixes with SCAS or CMPS, which is exactly what the assembler version
does.
A simple test on a Phenom II showed the C version, compiled with -O2, to be
about twice as fast determining the length of 100000 strings between 0 and
255 bytes long.
MFC after: 2 weeks
Deleted:
head/lib/libc/i386/string/strlen.S
Modified:
head/lib/libc/i386/string/Makefile.inc
Modified: head/lib/libc/i386/string/Makefile.inc
==============================================================================
--- head/lib/libc/i386/string/Makefile.inc Fri Oct 1 11:48:14 2010 (r213325)
+++ head/lib/libc/i386/string/Makefile.inc Fri Oct 1 13:10:11 2010 (r213326)
@@ -3,5 +3,5 @@
MDSRCS+=bcmp.S bcopy.S bzero.S ffs.S index.S memchr.S memcmp.S memcpy.S \
memmove.S memset.S rindex.S strcat.S strchr.S strcmp.S strcpy.S \
- strlen.S strncmp.S strrchr.S swab.S wcschr.S wcscmp.S wcslen.S \
+ strncmp.S strrchr.S swab.S wcschr.S wcscmp.S wcslen.S \
wmemchr.S
More information about the svn-src-head
mailing list