This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.26-75-g86c6519


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  86c6519ee77d241575653206f33dbe1d4c8436cf (commit)
       via  61c982910da9b60f7ac48eb1caaac1f4b013dbb1 (commit)
      from  925733a913ff7087e56f6ffebd2998f683212e78 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=86c6519ee77d241575653206f33dbe1d4c8436cf

commit 86c6519ee77d241575653206f33dbe1d4c8436cf
Author: Siddhesh Poyarekar <siddhesh@sourceware.org>
Date:   Fri Aug 11 12:17:46 2017 +0530

    benchtests: Print json in memmove benchmark
    
    Make the memmove benchmarks (bench-memmove and bench-memmove-large)
    print their output in JSON so that they can be evaluated using the
    compare_strings.py script.
    
    	* benchtests/bench-memmove-large.c: Print output in JSON
    	format.
    	* benchtests/bench-memmove.c: Likewise.

diff --git a/ChangeLog b/ChangeLog
index 9d80804..3a795ec 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2017-08-11  Siddhesh Poyarekar  <siddhesh@sourceware.org>
 
+	* benchtests/bench-memmove-large.c: Print output in JSON
+	format.
+	* benchtests/bench-memmove.c: Likewise.
+
 	* benchtests/bench-memccpy.c (do_one_test): Remove checks.
 	* benchtests/bench-memchr.c (do_one_test): Likewise.
 	* benchtests/bench-memcpy-large.c (do_one_test): Likewise.
diff --git a/benchtests/bench-memmove-large.c b/benchtests/bench-memmove-large.c
index 5230c6e..dc02ec2 100644
--- a/benchtests/bench-memmove-large.c
+++ b/benchtests/bench-memmove-large.c
@@ -23,14 +23,15 @@
 #define TEST_NAME "memmove"
 #define TIMEOUT (20 * 60)
 #include "bench-string.h"
+#include "json-lib.h"
 
 IMPL (memmove, 1)
 
 typedef char *(*proto_t) (char *, const char *, size_t);
 
 static void
-do_one_test (impl_t *impl, char *dst, char *src, const char *orig_src,
-	     size_t len)
+do_one_test (json_ctx_t *json_ctx, impl_t *impl, char *dst, char *src, const
+	     char *orig_src, size_t len)
 {
   size_t i, iters = 16;
   timing_t start, stop, cur;
@@ -44,11 +45,11 @@ do_one_test (impl_t *impl, char *dst, char *src, const char *orig_src,
 
   TIMING_DIFF (cur, start, stop);
 
-  TIMING_PRINT_MEAN ((double) cur, (double) iters);
+  json_element_double (json_ctx, (double) cur / (double) iters);
 }
 
 static void
-do_test (size_t align1, size_t align2, size_t len)
+do_test (json_ctx_t *json_ctx, size_t align1, size_t align2, size_t len)
 {
   size_t i, j;
   char *s1, *s2;
@@ -67,35 +68,57 @@ do_test (size_t align1, size_t align2, size_t len)
   for (i = 0, j = 1; i < len; i++, j += 23)
     s1[i] = j;
 
-  printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
+  json_element_object_begin (json_ctx);
+  json_attr_uint (json_ctx, "length", (double) len);
+  json_attr_uint (json_ctx, "align1", (double) align1);
+  json_attr_uint (json_ctx, "align2", (double) align2);
+  json_array_begin (json_ctx, "timings");
 
   FOR_EACH_IMPL (impl, 0)
-    do_one_test (impl, s2, (char *) (buf2 + align1), s1, len);
+    do_one_test (json_ctx, impl, s2, (char *) (buf2 + align1), s1, len);
 
-  putchar ('\n');
+  json_array_end (json_ctx);
+  json_element_object_end (json_ctx);
 }
 
 int
 test_main (void)
 {
+  json_ctx_t json_ctx;
   size_t i;
 
   test_init ();
 
-  printf ("%23s", "");
+  json_init (&json_ctx, 0, stdout);
+
+  json_document_begin (&json_ctx);
+  json_attr_string (&json_ctx, "timing_type", TIMING_TYPE);
+
+  json_attr_object_begin (&json_ctx, "functions");
+  json_attr_object_begin (&json_ctx, "memmove");
+  json_attr_string (&json_ctx, "bench-variant", "large");
+
+  json_array_begin (&json_ctx, "ifuncs");
+
   FOR_EACH_IMPL (impl, 0)
-    printf ("\t%s", impl->name);
-  putchar ('\n');
+    json_element_string (&json_ctx, impl->name);
+  json_array_end (&json_ctx);
 
+  json_array_begin (&json_ctx, "results");
   for (i = START_SIZE; i <= MIN_PAGE_SIZE; i <<= 1)
     {
-      do_test (0, 64, i + 7);
-      do_test (0, 3, i + 15);
-      do_test (3, 0, i + 31);
-      do_test (3, 7, i + 63);
-      do_test (9, 5, i + 127);
+      do_test (&json_ctx, 0, 64, i + 7);
+      do_test (&json_ctx, 0, 3, i + 15);
+      do_test (&json_ctx, 3, 0, i + 31);
+      do_test (&json_ctx, 3, 7, i + 63);
+      do_test (&json_ctx, 9, 5, i + 127);
     }
 
+  json_array_end (&json_ctx);
+  json_attr_object_end (&json_ctx);
+  json_attr_object_end (&json_ctx);
+  json_document_end (&json_ctx);
+
   return ret;
 }
 
diff --git a/benchtests/bench-memmove.c b/benchtests/bench-memmove.c
index 93c58a6..92a655f 100644
--- a/benchtests/bench-memmove.c
+++ b/benchtests/bench-memmove.c
@@ -23,6 +23,7 @@
 # define TEST_NAME "memmove"
 #endif
 #include "bench-string.h"
+#include "json-lib.h"
 
 char *simple_memmove (char *, const char *, size_t);
 
@@ -64,8 +65,8 @@ simple_memmove (char *dst, const char *src, size_t n)
 }
 
 static void
-do_one_test (impl_t *impl, char *dst, char *src, const char *orig_src,
-	     size_t len)
+do_one_test (json_ctx_t *json_ctx, impl_t *impl, char *dst, char *src, const
+	     char *orig_src, size_t len)
 {
   size_t i, iters = INNER_LOOP_ITERS;
   timing_t start, stop, cur;
@@ -83,11 +84,11 @@ do_one_test (impl_t *impl, char *dst, char *src, const char *orig_src,
 
   TIMING_DIFF (cur, start, stop);
 
-  TIMING_PRINT_MEAN ((double) cur, (double) iters);
+  json_element_double (json_ctx, (double) cur / (double) iters);
 }
 
 static void
-do_test (size_t align1, size_t align2, size_t len)
+do_test (json_ctx_t *json_ctx, size_t align1, size_t align2, size_t len)
 {
   size_t i, j;
   char *s1, *s2;
@@ -106,60 +107,82 @@ do_test (size_t align1, size_t align2, size_t len)
   for (i = 0, j = 1; i < len; i++, j += 23)
     s1[i] = j;
 
-  printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
+  json_element_object_begin (json_ctx);
+  json_attr_uint (json_ctx, "length", (double) len);
+  json_attr_uint (json_ctx, "align1", (double) align1);
+  json_attr_uint (json_ctx, "align2", (double) align2);
+  json_array_begin (json_ctx, "timings");
 
   FOR_EACH_IMPL (impl, 0)
-    do_one_test (impl, s2, (char *) (buf2 + align1), s1, len);
+    do_one_test (json_ctx, impl, s2, (char *) (buf2 + align1), s1, len);
 
-  putchar ('\n');
+  json_array_end (json_ctx);
+  json_element_object_end (json_ctx);
 }
 
 static int
 test_main (void)
 {
+  json_ctx_t json_ctx;
   size_t i;
 
   test_init ();
 
-  printf ("%23s", "");
+  json_init (&json_ctx, 0, stdout);
+
+  json_document_begin (&json_ctx);
+  json_attr_string (&json_ctx, "timing_type", TIMING_TYPE);
+
+  json_attr_object_begin (&json_ctx, "functions");
+  json_attr_object_begin (&json_ctx, "memmove");
+  json_attr_string (&json_ctx, "bench-variant", "default");
+
+  json_array_begin (&json_ctx, "ifuncs");
+
   FOR_EACH_IMPL (impl, 0)
-    printf ("\t%s", impl->name);
-  putchar ('\n');
+    json_element_string (&json_ctx, impl->name);
+  json_array_end (&json_ctx);
 
+  json_array_begin (&json_ctx, "results");
   for (i = 0; i < 14; ++i)
     {
-      do_test (0, 32, 1 << i);
-      do_test (32, 0, 1 << i);
-      do_test (0, i, 1 << i);
-      do_test (i, 0, 1 << i);
+      do_test (&json_ctx, 0, 32, 1 << i);
+      do_test (&json_ctx, 32, 0, 1 << i);
+      do_test (&json_ctx, 0, i, 1 << i);
+      do_test (&json_ctx, i, 0, 1 << i);
     }
 
   for (i = 0; i < 32; ++i)
     {
-      do_test (0, 32, i);
-      do_test (32, 0, i);
-      do_test (0, i, i);
-      do_test (i, 0, i);
+      do_test (&json_ctx, 0, 32, i);
+      do_test (&json_ctx, 32, 0, i);
+      do_test (&json_ctx, 0, i, i);
+      do_test (&json_ctx, i, 0, i);
     }
 
   for (i = 3; i < 32; ++i)
     {
       if ((i & (i - 1)) == 0)
 	continue;
-      do_test (0, 32, 16 * i);
-      do_test (32, 0, 16 * i);
-      do_test (0, i, 16 * i);
-      do_test (i, 0, 16 * i);
+      do_test (&json_ctx, 0, 32, 16 * i);
+      do_test (&json_ctx, 32, 0, 16 * i);
+      do_test (&json_ctx, 0, i, 16 * i);
+      do_test (&json_ctx, i, 0, 16 * i);
     }
 
   for (i = 32; i < 64; ++i)
     {
-      do_test (0, 0, 32 * i);
-      do_test (i, 0, 32 * i);
-      do_test (0, i, 32 * i);
-      do_test (i, i, 32 * i);
+      do_test (&json_ctx, 0, 0, 32 * i);
+      do_test (&json_ctx, i, 0, 32 * i);
+      do_test (&json_ctx, 0, i, 32 * i);
+      do_test (&json_ctx, i, i, 32 * i);
     }
 
+  json_array_end (&json_ctx);
+  json_attr_object_end (&json_ctx);
+  json_attr_object_end (&json_ctx);
+  json_document_end (&json_ctx);
+
   return ret;
 }
 

http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=61c982910da9b60f7ac48eb1caaac1f4b013dbb1

commit 61c982910da9b60f7ac48eb1caaac1f4b013dbb1
Author: Siddhesh Poyarekar <siddhesh@sourceware.org>
Date:   Fri Aug 11 12:17:24 2017 +0530

    benchtests: Remove verification runs from benchmark tests
    
    The test run is unnecessary and interferes with the benchmark.  The
    tests are done during make check, so they're unnecessary here.
    
    	* benchtests/bench-memccpy.c (do_one_test): Remove checks.
    	* benchtests/bench-memchr.c (do_one_test): Likewise.
    	* benchtests/bench-memcpy-large.c (do_one_test): Likewise.
    	* benchtests/bench-memcpy.c (do_one_test): Likewise.
    	* benchtests/bench-memmove-large.c (do_one_test): Likewise.
    	* benchtests/bench-memmove.c (do_one_test): Likewise.
    	* benchtests/bench-memset-large.c (do_one_test): Likewise.
    	* benchtests/bench-memset.c (do_one_test): Likewise.
    	* benchtests/bench-string.h (test_init): Remove memsets.

diff --git a/ChangeLog b/ChangeLog
index 9e7dd95..9d80804 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2017-08-11  Siddhesh Poyarekar  <siddhesh@sourceware.org>
+
+	* benchtests/bench-memccpy.c (do_one_test): Remove checks.
+	* benchtests/bench-memchr.c (do_one_test): Likewise.
+	* benchtests/bench-memcpy-large.c (do_one_test): Likewise.
+	* benchtests/bench-memcpy.c (do_one_test): Likewise.
+	* benchtests/bench-memmove-large.c (do_one_test): Likewise.
+	* benchtests/bench-memmove.c (do_one_test): Likewise.
+	* benchtests/bench-memset-large.c (do_one_test): Likewise.
+	* benchtests/bench-memset.c (do_one_test): Likewise.
+	* benchtests/bench-string.h (test_init): Remove memsets.
+
 2017-08-10  Rical Jasan  <ricaljasan@pacific.net>
 
 	* manual/lang.texi
diff --git a/benchtests/bench-memccpy.c b/benchtests/bench-memccpy.c
index 7549687..278de51 100644
--- a/benchtests/bench-memccpy.c
+++ b/benchtests/bench-memccpy.c
@@ -58,25 +58,9 @@ static void
 do_one_test (impl_t *impl, void *dst, const void *src, int c, size_t len,
 	     size_t n)
 {
-  void *expect = len > n ? NULL : (char *) dst + len;
   size_t i, iters = INNER_LOOP_ITERS;
   timing_t start, stop, cur;
 
-  if (CALL (impl, dst, src, c, n) != expect)
-    {
-      error (0, 0, "Wrong result in function %s %p %p", impl->name,
-	     CALL (impl, dst, src, c, n), expect);
-      ret = 1;
-      return;
-    }
-
-  if (memcmp (dst, src, len > n ? n : len) != 0)
-    {
-      error (0, 0, "Wrong result in function %s", impl->name);
-      ret = 1;
-      return;
-    }
-
   TIMING_NOW (start);
   for (i = 0; i < iters; ++i)
     {
diff --git a/benchtests/bench-memchr.c b/benchtests/bench-memchr.c
index 92b5b7f..59d6eab 100644
--- a/benchtests/bench-memchr.c
+++ b/benchtests/bench-memchr.c
@@ -59,20 +59,11 @@ SIMPLE_MEMCHR (const CHAR *s, int c, size_t n)
 #endif /* !USE_AS_MEMRCHR */
 
 static void
-do_one_test (impl_t *impl, const CHAR *s, int c, size_t n, CHAR *exp_res)
+do_one_test (impl_t *impl, const CHAR *s, int c, size_t n)
 {
-  CHAR *res = CALL (impl, s, c, n);
   size_t i, iters = INNER_LOOP_ITERS;
   timing_t start, stop, cur;
 
-  if (res != exp_res)
-    {
-      error (0, 0, "Wrong result in function %s %p %p", impl->name,
-	     res, exp_res);
-      ret = 1;
-      return;
-    }
-
   TIMING_NOW (start);
   for (i = 0; i < iters; ++i)
     {
@@ -89,7 +80,6 @@ static void
 do_test (size_t align, size_t pos, size_t len, int seek_char)
 {
   size_t i;
-  CHAR *result;
 
   align &= 7;
   if ((align + len) * sizeof (CHAR) >= page_size)
@@ -109,11 +99,9 @@ do_test (size_t align, size_t pos, size_t len, int seek_char)
     {
       buf[align + pos] = seek_char;
       buf[align + len] = -seek_char;
-      result = (CHAR *) (buf + align + pos);
     }
   else
     {
-      result = NULL;
       buf[align + len] = seek_char;
     }
 
@@ -121,7 +109,7 @@ do_test (size_t align, size_t pos, size_t len, int seek_char)
 	  len, pos, align);
 
   FOR_EACH_IMPL (impl, 0)
-    do_one_test (impl, (CHAR *) (buf + align), seek_char, len, result);
+    do_one_test (impl, (CHAR *) (buf + align), seek_char, len);
 
   putchar ('\n');
 }
diff --git a/benchtests/bench-memcpy-large.c b/benchtests/bench-memcpy-large.c
index 965edf5..1dea16f 100644
--- a/benchtests/bench-memcpy-large.c
+++ b/benchtests/bench-memcpy-large.c
@@ -39,26 +39,6 @@ do_one_test (json_ctx_t *json_ctx, impl_t *impl, char *dst, const char *src,
   size_t i, iters = 16;
   timing_t start, stop, cur;
 
-  /* Must clear the destination buffer updated by the previous run.  */
-  for (i = 0; i < len; i++)
-    dst[i] = 0;
-
-  if (CALL (impl, dst, src, len) != MEMCPY_RESULT (dst, len))
-    {
-      error (0, 0, "Wrong result in function %s %p %p", impl->name,
-	     CALL (impl, dst, src, len), MEMCPY_RESULT (dst, len));
-      ret = 1;
-      return;
-    }
-
-  if (memcmp (dst, src, len) != 0)
-    {
-      error (0, 0, "Wrong result in function %s dst \"%s\" src \"%s\"",
-	     impl->name, dst, src);
-      ret = 1;
-      return;
-    }
-
   TIMING_NOW (start);
   for (i = 0; i < iters; ++i)
     {
diff --git a/benchtests/bench-memcpy.c b/benchtests/bench-memcpy.c
index d80c644..af920bc 100644
--- a/benchtests/bench-memcpy.c
+++ b/benchtests/bench-memcpy.c
@@ -57,26 +57,6 @@ do_one_test (json_ctx_t *json_ctx, impl_t *impl, char *dst, const char *src,
   size_t i, iters = INNER_LOOP_ITERS;
   timing_t start, stop, cur;
 
-  /* Must clear the destination buffer set by the previous run.  */
-  for (i = 0; i < len; i++)
-    dst[i] = 0;
-
-  if (CALL (impl, dst, src, len) != MEMCPY_RESULT (dst, len))
-    {
-      error (0, 0, "Wrong result in function %s %p %p", impl->name,
-	     CALL (impl, dst, src, len), MEMCPY_RESULT (dst, len));
-      ret = 1;
-      return;
-    }
-
-  if (memcmp (dst, src, len) != 0)
-    {
-      error (0, 0, "Wrong result in function %s dst \"%s\" src \"%s\"",
-	     impl->name, dst, src);
-      ret = 1;
-      return;
-    }
-
   TIMING_NOW (start);
   for (i = 0; i < iters; ++i)
     {
diff --git a/benchtests/bench-memmove-large.c b/benchtests/bench-memmove-large.c
index e17cea0..5230c6e 100644
--- a/benchtests/bench-memmove-large.c
+++ b/benchtests/bench-memmove-large.c
@@ -35,27 +35,6 @@ do_one_test (impl_t *impl, char *dst, char *src, const char *orig_src,
   size_t i, iters = 16;
   timing_t start, stop, cur;
 
-  /* This also clears the destination buffer updated by the previous
-     run.  */
-  memcpy (src, orig_src, len);
-
-  char *res = CALL (impl, dst, src, len);
-  if (res != dst)
-    {
-      error (0, 0, "Wrong result in function %s %p %p", impl->name,
-	     res, dst);
-      ret = 1;
-      return;
-    }
-
-  if (memcmp (dst, orig_src, len) != 0)
-    {
-      error (0, 0, "Wrong result in function %s dst \"%s\" src \"%s\"",
-	     impl->name, dst, src);
-      ret = 1;
-      return;
-    }
-
   TIMING_NOW (start);
   for (i = 0; i < iters; ++i)
     {
diff --git a/benchtests/bench-memmove.c b/benchtests/bench-memmove.c
index 4cbaa46..93c58a6 100644
--- a/benchtests/bench-memmove.c
+++ b/benchtests/bench-memmove.c
@@ -70,31 +70,6 @@ do_one_test (impl_t *impl, char *dst, char *src, const char *orig_src,
   size_t i, iters = INNER_LOOP_ITERS;
   timing_t start, stop, cur;
 
-  /* This also clears the destination buffer set by the previous run.  */
-  memcpy (src, orig_src, len);
-#ifdef TEST_BCOPY
-  CALL (impl, src, dst, len);
-#else
-  char *res;
-
-  res = CALL (impl, dst, src, len);
-  if (res != dst)
-    {
-      error (0, 0, "Wrong result in function %s %p %p", impl->name,
-	     res, dst);
-      ret = 1;
-      return;
-    }
-#endif
-
-  if (memcmp (dst, orig_src, len) != 0)
-    {
-      error (0, 0, "Wrong result in function %s dst \"%s\" src \"%s\"",
-	     impl->name, dst, src);
-      ret = 1;
-      return;
-    }
-
   TIMING_NOW (start);
   for (i = 0; i < iters; ++i)
     {
diff --git a/benchtests/bench-memset-large.c b/benchtests/bench-memset-large.c
index 6cfe8a5..d18a05e 100644
--- a/benchtests/bench-memset-large.c
+++ b/benchtests/bench-memset-large.c
@@ -61,23 +61,6 @@ do_one_test (impl_t *impl, CHAR *s, int c __attribute ((unused)), size_t n)
 {
   size_t i, iters = 16;
   timing_t start, stop, cur;
-  CHAR *tstbuf = malloc (n * sizeof (*s));
-  assert (tstbuf != NULL);
-
-  /* Must clear the destination buffer updated by the previous run.  */
-  for (i = 0; i < n; i++)
-    s[i] = 0;
-
-  CHAR *res = CALL (impl, s, c, n);
-  if (res != s
-      || SIMPLE_MEMSET (tstbuf, c, n) != tstbuf
-      || MEMCMP (s, tstbuf, n) != 0)
-    {
-      error (0, 0, "Wrong result in function %s", impl->name);
-      ret = 1;
-      free (tstbuf);
-      return;
-    }
 
   TIMING_NOW (start);
   for (i = 0; i < iters; ++i)
@@ -89,8 +72,6 @@ do_one_test (impl_t *impl, CHAR *s, int c __attribute ((unused)), size_t n)
   TIMING_DIFF (cur, start, stop);
 
   TIMING_PRINT_MEAN ((double) cur, (double) iters);
-
-  free (tstbuf);
 }
 
 static void
diff --git a/benchtests/bench-memset.c b/benchtests/bench-memset.c
index dc7944c..6b5c57f 100644
--- a/benchtests/bench-memset.c
+++ b/benchtests/bench-memset.c
@@ -98,22 +98,6 @@ do_one_test (impl_t *impl, CHAR *s, int c __attribute ((unused)), size_t n)
 {
   size_t i, iters = INNER_LOOP_ITERS;
   timing_t start, stop, cur;
-  CHAR tstbuf[n];
-#ifdef TEST_BZERO
-  simple_bzero (tstbuf, n);
-  CALL (impl, s, n);
-  if (memcmp (s, tstbuf, n) != 0)
-#else
-  CHAR *res = CALL (impl, s, c, n);
-  if (res != s
-      || SIMPLE_MEMSET (tstbuf, c, n) != tstbuf
-      || MEMCMP (s, tstbuf, n) != 0)
-#endif /* !TEST_BZERO */
-    {
-      error (0, 0, "Wrong result in function %s", impl->name);
-      ret = 1;
-      return;
-    }
 
   TIMING_NOW (start);
   for (i = 0; i < iters; ++i)
diff --git a/benchtests/bench-string.h b/benchtests/bench-string.h
index d76724d..3aacfdf 100644
--- a/benchtests/bench-string.h
+++ b/benchtests/bench-string.h
@@ -203,9 +203,6 @@ test_init (void)
       printf ("Setting seed to 0x%x\n", seed);
       srandom (seed);
     }
-
-  memset (buf1, 0xa5, BUF1PAGES * page_size);
-  memset (buf2, 0x5a, page_size);
 }
 
 #endif /* TEST_MAIN */

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                        |   16 ++++++
 benchtests/bench-memccpy.c       |   16 ------
 benchtests/bench-memchr.c        |   16 +-----
 benchtests/bench-memcpy-large.c  |   20 --------
 benchtests/bench-memcpy.c        |   20 --------
 benchtests/bench-memmove-large.c |   74 ++++++++++++++--------------
 benchtests/bench-memmove.c       |  100 ++++++++++++++++++-------------------
 benchtests/bench-memset-large.c  |   19 -------
 benchtests/bench-memset.c        |   16 ------
 benchtests/bench-string.h        |    3 -
 10 files changed, 105 insertions(+), 195 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]