| /benchtests/ |
| A D | bench-memmem.c | 124 do_test (const char *str, size_t len, size_t idx) in do_test() argument 126 char tmpbuf[len]; in do_test() 128 memcpy (tmpbuf, buf1 + idx, len); in do_test() 129 memcpy (buf1 + idx, str, len); in do_test() 136 memcpy (buf1 + idx, tmpbuf, len); in do_test() 152 len = MIN (len, BUF1PAGES * page_size - idx - 1); in do_random_tests() 153 memcpy (tmpbuf, buf1 + idx, len); in do_random_tests() 156 size_t off = random () % len; in do_random_tests() 170 memcpy (buf1 + idx, tmpbuf, len); in do_random_tests() 200 size_t len = strlen (strs[i]); in test_main() local [all …]
|
| A D | bench-strcpy_chk.c | 42 if (! len) in simple_strcpy_chk() 45 if (--len == 0) in simple_strcpy_chk() 77 size_t len, size_t dlen) in do_one_test() argument 83 if (dlen <= len) in do_one_test() 93 impl->name, len, dlen); in do_one_test() 137 if (align1 + len >= page_size) in do_test() 141 if (align2 + len >= page_size) in do_test() 147 for (i = 0; i < len; i++) in do_test() 149 s1[len] = 0; in do_test() 151 if (dlen > len) in do_test() [all …]
|
| A D | bench-strncpy.c | 28 # define STRNCPY_RESULT(dst, len, n) dst argument 60 if (CALL (impl, dst, src, n) != STRNCPY_RESULT (dst, len, n)) in do_one_test() 68 if (memcmp (dst, src, (len > n ? n : len) * sizeof (CHAR)) != 0) in do_one_test() 75 if (n > len) in do_one_test() 79 for (i = len; i < n; ++i) in do_one_test() 109 if ((align1 + len) * sizeof (CHAR) >= page_size) in do_test() 113 if ((align2 + len) * sizeof (CHAR) >= page_size) in do_test() 119 for (i = 0; i < len; ++i) in do_test() 121 s1[len] = 0; in do_test() 122 for (i = len + 1; (i + align1) * sizeof (CHAR) < page_size && i < len + 64; in do_test() [all …]
|
| A D | bench-strcasecmp.c | 77 if (len == 0) in do_test() 81 if (align1 + len + 1 >= page_size) in do_test() 85 if (align2 + len + 1 >= page_size) in do_test() 91 for (i = 0; i < len; i++) in do_test() 97 s1[len] = s2[len] = 0; in do_test() 98 s1[len + 1] = 23; in do_test() 99 s2[len + 1] = 24 + exp_result; in do_test() 100 if ((s2[len - 1] == 'z' && exp_result == -1) in do_test() 101 || (s2[len - 1] == 'a' && exp_result == 1)) in do_test() 102 s1[len - 1] += exp_result; in do_test() [all …]
|
| A D | bench-strcmp.c | 109 if (len == 0) in do_test() 121 i = align1 + CHARBYTES * (len + 2); in do_test() 123 i = align2 + CHARBYTES * (len + 2); in do_test() 126 for (i = 0; i < len; i++) in do_test() 129 s1[len] = s2[len] = 0; in do_test() 130 s1[len + 1] = 23; in do_test() 131 s2[len + 1] = 24 + exp_result; in do_test() 132 s2[len - 1] -= exp_result; in do_test() 171 size_t len; in do_test_page_boundary() local 194 len = (page_size / CHARBYTES) - 1 - align1; in do_test_page_boundary() [all …]
|
| A D | bench-strncmp.c | 126 if (len < n) in do_test_limit() 128 s1[len] = 0; in do_test_limit() 129 s2[len] = 0; in do_test_limit() 131 s2[len] = 32; in do_test_limit() 133 s1[len] = 64; in do_test_limit() 179 s1[len] = 0; in do_test() 180 s2[len] = 0; in do_test() 182 s2[len] = 32; in do_test() 184 s1[len] = 64; in do_test() 185 if (len >= n) in do_test() [all …]
|
| A D | bench-strncasecmp.c | 75 if (len == 0) in do_test() 79 if (align1 + len + 1 >= page_size) in do_test() 83 if (align2 + len + 1 >= page_size) in do_test() 89 for (i = 0; i < len; i++) in do_test() 95 s1[len] = s2[len] = 0; in do_test() 96 s1[len + 1] = 23; in do_test() 97 s2[len + 1] = 24 + exp_result; in do_test() 98 if ((s2[len - 1] == 'z' && exp_result == -1) in do_test() 99 || (s2[len - 1] == 'a' && exp_result == 1)) in do_test() 100 s1[len - 1] += exp_result; in do_test() [all …]
|
| A D | bench-memmove-walk.c | 31 # define MEMMOVE_RESULT(dst, len) dst argument 52 size_t len) in do_one_test() argument 57 char *dst_end = dst + MIN_PAGE_SIZE - len; in do_one_test() 58 char *src_end = src + MIN_PAGE_SIZE - len; in do_one_test() 62 for (; src_end >= src && dst <= dst_end; dst += len, src_end -= len, i++) in do_one_test() 63 CALL (impl, dst, src_end, len); in do_one_test() 73 do_test (json_ctx_t *json_ctx, size_t len, int overlap, int both_ways) in do_test() argument 83 s2 += len / 2; in do_test() 88 json_attr_uint (json_ctx, "length", (double) len); in do_test() 98 do_one_test (json_ctx, impl, (char *) buf2, (char *) buf1, len); in do_test()
|
| A D | bench-memcpy-walk.c | 31 # define MEMCPY_RESULT(dst, len) dst argument 48 size_t len) in do_one_test() argument 53 char *dst_end = dst + MIN_PAGE_SIZE - len; in do_one_test() 54 char *src_end = src + MIN_PAGE_SIZE - len; in do_one_test() 58 for (; src_end >= src && dst_end >= dst; src_end -= len, dst_end -= len, i++) in do_one_test() 59 CALL (impl, src_end, dst_end, len); in do_one_test() 69 do_test (json_ctx_t *json_ctx, size_t len, int both_ways) in do_test() argument 80 json_attr_uint (json_ctx, "length", (double) len); in do_test() 85 do_one_test (json_ctx, impl, s2, s1, len); in do_test()
|
| A D | bench-strcpy.c | 30 # define STRCPY_RESULT(dst, len) dst argument 55 size_t len __attribute__((unused))) in do_one_test() argument 60 if (CALL (impl, dst, src) != STRCPY_RESULT (dst, len)) in do_one_test() 63 CALL (impl, dst, src), STRCPY_RESULT (dst, len)); in do_one_test() 90 do_test (size_t align1, size_t align2, size_t len, int max_char) in do_test() argument 98 if ((align1 + len) * sizeof (CHAR) >= page_size) in do_test() 102 if ((align2 + len) * sizeof (CHAR) >= page_size) in do_test() 108 for (i = 0; i < len; i++) in do_test() 110 s1[len] = 0; in do_test() 112 printf ("Length %4zd, alignments in bytes %2zd/%2zd:", len, in do_test() [all …]
|
| A D | bench-memcmp.c | 66 const CHAR *s2, size_t len, int exp_result) in do_one_test() argument 74 CALL (impl, s1, s2, len); in do_one_test() 90 if (len == 0) in do_test() 94 if (align1 + (len + 1) * CHARBYTES >= page_size) in do_test() 98 if (align2 + (len + 1) * CHARBYTES >= page_size) in do_test() 102 json_attr_uint (json_ctx, "length", (double) len); in do_test() 111 for (i = 0; i < len; i++) in do_test() 114 s1[len] = align1; in do_test() 115 s2[len] = align2; in do_test() 116 s2[len - 1] -= exp_result; in do_test() [all …]
|
| A D | bench-memccpy.c | 41 do_one_test (impl_t *impl, void *dst, const void *src, int c, size_t len, in do_one_test() argument 60 do_test (size_t align1, size_t align2, int c, size_t len, size_t n, in do_test() argument 67 if (align1 + len >= page_size) in do_test() 71 if (align2 + len >= page_size) in do_test() 77 for (i = 0; i < len - 1; ++i) in do_test() 83 s1[len - 1] = c; in do_test() 84 for (i = len; i + align1 < page_size && i < len + 64; ++i) in do_test() 87 printf ("Length %4zd, n %4zd, char %d, alignment %2zd/%2zd:", len, n, c, align1, align2); in do_test() 90 do_one_test (impl, s2, s1, c, len, n); in do_test()
|
| A D | bench-memcpy-large.c | 20 # define MEMCPY_RESULT(dst, len) dst argument 37 size_t len) in do_one_test() argument 45 CALL (impl, dst, src, len); in do_one_test() 55 do_test (json_ctx_t *json_ctx, size_t align1, size_t align2, size_t len, in do_test() argument 62 if (align1 + len >= page_size) in do_test() 66 if (align2 + len >= page_size) in do_test() 74 for (i = 0, j = 1; i < len; i++, j += 23) in do_test() 78 json_attr_uint (json_ctx, "length", (double) len); in do_test() 85 do_one_test (json_ctx, impl, s2, s1, len); in do_test()
|
| A D | bench-strnlen.c | 54 size_t len = CALL (impl, s, maxlen), i, iters = INNER_LOOP_ITERS_LARGE; in do_one_test() local 57 if (len != exp_len) in do_one_test() 60 len, exp_len); in do_one_test() 78 do_test (size_t align, size_t len, size_t maxlen, int max_char) in do_test() argument 83 if ((align + len) * sizeof (CHAR) >= page_size) in do_test() 88 for (i = 0; i < len; ++i) in do_test() 90 buf[align + len] = 0; in do_test() 92 printf ("Length %4zd, alignment %2zd:", len, align); in do_test() 95 do_one_test (impl, (CHAR *) (buf + align), maxlen, MIN (len, maxlen)); in do_test()
|
| A D | bench-strlen.c | 51 size_t len = CALL (impl, s), i, iters = INNER_LOOP_ITERS_LARGE; in do_one_test() local 54 if (len != exp_len) in do_one_test() 57 len, exp_len); in do_one_test() 75 do_test (json_ctx_t *json_ctx, size_t align, size_t len) in do_test() argument 80 if (align + sizeof (CHAR) * len >= page_size) in do_test() 84 json_attr_uint (json_ctx, "length", len); in do_test() 93 for (i = 0; i < len; ++i) in do_test() 95 buf[align + len] = 0; in do_test() 97 do_one_test (json_ctx, impl, (CHAR *) (buf + align), len); in do_test()
|
| A D | bench-memchr.c | 75 do_test (size_t align, size_t pos, size_t len, int seek_char) in do_test() argument 80 if ((align + len) * sizeof (CHAR) >= page_size) in do_test() 85 for (i = 0; i < len; ++i) in do_test() 91 buf[align + len] = 0; in do_test() 93 if (pos < len) in do_test() 96 buf[align + len] = -seek_char; in do_test() 100 buf[align + len] = seek_char; in do_test() 104 len, pos, align); in do_test() 107 do_one_test (impl, (CHAR *) (buf + align), seek_char, len); in do_test()
|
| A D | bench-memmove-large.c | 34 size_t len) in do_one_test() argument 42 CALL (impl, dst, src, len); in do_one_test() 52 do_test (json_ctx_t *json_ctx, size_t align1, size_t align2, size_t len) in do_test() argument 58 if (align1 + len >= page_size) in do_test() 62 if (align2 + len >= page_size) in do_test() 68 for (i = 0, j = 1; i < len; i++, j += 23) in do_test() 72 json_attr_uint (json_ctx, "length", (double) len); in do_test() 78 do_one_test (json_ctx, impl, s2, s1, len); in do_test()
|
| A D | bench-memmove.c | 33 size_t len) in do_one_test() argument 39 CALL (impl, dst, src, len); in do_one_test() 44 CALL (impl, dst, src, len); in do_one_test() 54 do_test (json_ctx_t *json_ctx, size_t align1, size_t align2, size_t len) in do_test() argument 60 if (align1 + len >= page_size) in do_test() 64 if (align2 + len >= page_size) in do_test() 70 for (i = 0, j = 1; i < len; i++, j += 23) in do_test() 74 json_attr_uint (json_ctx, "length", (double) len); in do_test() 80 do_one_test (json_ctx, impl, s2, s1, len); in do_test()
|
| A D | bench-memcpy.c | 20 # define MEMCPY_RESULT(dst, len) dst argument 39 size_t len) in do_one_test() argument 45 CALL (impl, dst, src, len); in do_one_test() 50 CALL (impl, dst, src, len); in do_one_test() 60 do_test (json_ctx_t *json_ctx, size_t align1, size_t align2, size_t len, in do_test() argument 67 if (align1 + len >= page_size) in do_test() 71 if (align2 + len >= page_size) in do_test() 79 for (i = 0, j = 1; i < len; i++, j += 23) in do_test() 83 json_attr_uint (json_ctx, "length", (double) len); in do_test() 90 do_one_test (json_ctx, impl, s2, s1, len); in do_test()
|
| A D | bench-strrchr.c | 83 do_test (size_t align, size_t pos, size_t len, int seek_char, int max_char) in do_test() argument 93 if ((align + len) * sizeof (CHAR) >= page_size) in do_test() 96 for (i = 0; i < len; ++i) in do_test() 103 if ((i > pos || pos >= len) && buf[align + i] == seek_char) in do_test() 106 buf[align + len] = 0; in do_test() 108 if (pos < len) in do_test() 114 result = (CHAR *) (buf + align + len); in do_test() 118 printf ("Length %4zd, alignment in bytes %2zd:", len, align * sizeof (CHAR)); in do_test()
|
| A D | bench-strspn.c | 87 do_test (size_t align, size_t pos, size_t len) in do_test() argument 93 if ((align + pos + 10) * sizeof (CHAR) >= page_size || len > 240 || ! len) in do_test() 99 for (i = 0; i < len; ++i) in do_test() 107 acc[len] = '\0'; in do_test() 110 s[i] = acc[random () % len]; in do_test() 121 printf ("Length %4zd, alignment %2zd, acc len %2zd:", pos, align, len); in do_test()
|
| A D | bench-stpcpy.c | 19 #define STRCPY_RESULT(dst, len) ((dst) + (len)) argument 32 size_t len = STRLEN (src); in generic_stpcpy() local 33 return (CHAR *) MEMCPY (dst, src, len + 1) + len; in generic_stpcpy()
|
| A D | bench-stpcpy_chk.c | 19 #define STRCPY_RESULT(dst, len) ((dst) + (len)) argument 35 simple_stpcpy_chk (char *dst, const char *src, size_t len) in simple_stpcpy_chk() argument 37 if (! len) in simple_stpcpy_chk() 40 if (--len == 0) in simple_stpcpy_chk()
|
| A D | bench-strchr.c | 95 do_test (size_t align, size_t pos, size_t len, int seek_char, int max_char) in do_test() argument 104 if ((align + len) * sizeof (CHAR) >= page_size) in do_test() 107 for (i = 0; i < len; ++i) in do_test() 115 buf[align + len] = 0; in do_test() 117 if (pos < len) in do_test() 123 result = buf + align + len; in do_test() 125 result = NULLRET (buf + align + len); in do_test()
|
| A D | bench-rawmemchr.c | 68 do_test (json_ctx_t *json_ctx, size_t align, size_t pos, size_t len, int seek_char) in do_test() argument 74 if (align + len >= page_size) in do_test() 77 for (i = 0; i < len; ++i) in do_test() 83 buf1[align + len] = 0; in do_test() 85 assert (pos < len); in do_test() 88 buf1[align + len] = -seek_char; in do_test()
|