summaryrefslogtreecommitdiffstats
path: root/lib/libc/string/strlen.c
Commit message (Collapse)AuthorAgeFilesLines
* Correct bugs fixed but not merged from my own tree.delphij2010-03-131-2/+3
| | | | | Pointy hat to: delphij MFC after: 1 month
* Follow up commit to reindent the code.delphij2010-03-121-13/+13
| | | | MFC after: 1 month
* Two optimizations to MI strlen(3) inspired by David S. Miller'sdelphij2010-03-121-12/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | blog posting [1]. - Use word-sized test for unaligned pointer before working the hard way. Memory page boundary is always integral multiple of a word alignment boundary. Therefore, if we can access memory referenced by pointer p, then (p & ~word mask) must be also accessible. - Better utilization of multi-issue processor's ability of concurrency. The previous implementation utilized a formular that must be executed sequentially. However, the ~, & and - operations can actually be caculated at the same time when the operand were different and unrelated. The original Hacker's Delight formular also offered consistent performance regardless whether the input would contain characters with their highest-bit set, as it catches real nul characters only. These two optimizations has shown further improvements over the previous implementation on microbenchmarks on i386 and amd64 CPU including Pentium 4, Core Duo 2 and i7. [1] http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2010/03/08#strlen_1 MFC after: 1 month
* - Fix grammar. [1]delphij2009-01-261-3/+3
| | | | | | | | - Use the correct term 'long mode'. [2] - style(9) for return value. [3] Submitted by: Ben Kaduk <minimarmot gmail com> [1], obrien [2], scf [3]
* Rewrite of MI strlen(3) in a way that can better utilize modern hardware bydelphij2009-01-251-15/+78
| | | | | | | | | reducing branches and doing word-sized operation. The idea is taken from J.T. Conklin's x86_64 optimized version of strlen(3) for NetBSD, and reimplemented in C by me. Discussed on: -arch@
* Per Regents of the University of Calfornia letter, remove advertisingimp2007-01-091-4/+0
| | | | | | clause. # If I've done so improperly on a file, please let me know.
* Remove 'register' keyword.obrien2002-03-211-1/+1
|
* rcsid[]->__FBSDIDobrien2001-11-071-5/+2
|
* Make the rcsid and FreeBSD IDs more sane in the wcs* and wmem* files.obrien2001-05-241-0/+4
| | | | Do the same for the non-wcs*/wmem* files while I'm here.
* BSD 4.4 Lite Lib Sourcesrgrimes1994-05-271-0/+50
OpenPOWER on IntegriCloud