mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-25 22:40:05 +00:00
This patch improves strncat performance by using strlen. Strlen has a fast C implementation, so
this will improve performance even on targets which don't have an optimized strlen. It is about twice as fast as the original strncat in bench-strncat.
This commit is contained in:
parent
6e46de42fe
commit
e80514b5a8
@ -1,3 +1,7 @@
|
||||
2014-10-24 Wilco Dijkstra <wdijkstr@arm.com>
|
||||
|
||||
* string/strncat.c (strncat): Improve performance by using strlen.
|
||||
|
||||
2014-10-24 Wilco Dijkstra <wdijkstr@arm.com>
|
||||
|
||||
* string/strcat.c (strcat): Improve performance by using strlen/strcpy.
|
||||
|
@ -33,13 +33,11 @@ STRNCAT (char *s1, const char *s2, size_t n)
|
||||
char *s = s1;
|
||||
|
||||
/* Find the end of S1. */
|
||||
do
|
||||
c = *s1++;
|
||||
while (c != '\0');
|
||||
s1 += strlen (s1);
|
||||
|
||||
/* Make S1 point before next character, so we can increment
|
||||
it while memory is read (wins on pipelined cpus). */
|
||||
s1 -= 2;
|
||||
s1 -= 1;
|
||||
|
||||
if (n >= 4)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user