/benchtests/ |
A D | bench-string.h | 179 # define CALL(impl, ...) \ argument 190 impl_t *impl; \ 199 for (impl = __start_impls; impl < __stop_impls; ++impl) \ 201 skip = impl; \ 206 for (impl = __start_impls; impl < __stop_impls; ++impl) \ 207 if (impl != skip) \ 208 *a++ = *impl; \ 225 impl = impl_array; \ 227 if (!notall || impl->test) 230 for (impl_t *impl = __start_impls; impl < __stop_impls; ++impl) \ [all …]
|
A D | bench-strstr.c | 140 res = CALL (impl, s1, s2); in do_one_test() 201 FOR_EACH_IMPL (impl, 0) in do_test() 202 do_one_test (impl, s1, s2, fail ? NULL : s1 + len1 - len2); in do_test() 235 FOR_EACH_IMPL (impl, 0) in test_hard_needle() 236 do_one_test (impl, hs, ne, NULL); in test_hard_needle() 256 FOR_EACH_IMPL (impl, 0) in test_hard_needle() 257 do_one_test (impl, hs, ne, NULL); in test_hard_needle() 276 FOR_EACH_IMPL (impl, 0) in test_hard_needle() 277 do_one_test (impl, hs, ne, NULL); in test_hard_needle() 288 FOR_EACH_IMPL (impl, 0) in test_main() [all …]
|
A D | bench-strcpy_chk.c | 76 do_one_test (impl_t *impl, char *dst, const char *src, in do_one_test() argument 85 if (impl->test == 1) in do_one_test() 91 res = CALL (impl, dst, src, dlen); in do_one_test() 93 impl->name, len, dlen); in do_one_test() 100 res = CALL (impl, dst, src, dlen); in do_one_test() 113 impl->name, dst, src); in do_one_test() 121 CALL (impl, dst, src, dlen); in do_one_test() 154 FOR_EACH_IMPL (impl, 0) in do_test() 155 do_one_test (impl, s2, s1, len, dlen); in do_test() 171 FOR_EACH_IMPL (impl, 0) in test_main() [all …]
|
A D | bench-strncat.c | 52 do_one_test (impl_t *impl, CHAR *dst, const CHAR *src, size_t n) in do_one_test() argument 57 if (CALL (impl, dst, src, n) != dst) in do_one_test() 59 error (0, 0, "Wrong result in function %s %p != %p", impl->name, in do_one_test() 60 CALL (impl, dst, src, n), dst); in do_one_test() 69 impl->name); in do_one_test() 76 impl->name); in do_one_test() 85 CALL (impl, dst, src, n); in do_one_test() 124 FOR_EACH_IMPL (impl, 0) in do_test() 127 do_one_test (impl, s2, s1, n); in do_test() 141 FOR_EACH_IMPL (impl, 0) in main() [all …]
|
A D | bench-strncpy.c | 55 do_one_test (impl_t *impl, CHAR *dst, const CHAR *src, size_t len, size_t n) in do_one_test() argument 60 if (CALL (impl, dst, src, n) != STRNCPY_RESULT (dst, len, n)) in do_one_test() 62 error (0, 0, "Wrong result in function %s %p %p", impl->name, in do_one_test() 63 CALL (impl, dst, src, n), dst); in do_one_test() 70 error (0, 0, "Wrong result in function %s", impl->name); in do_one_test() 82 error (0, 0, "Wrong result in function %s", impl->name); in do_one_test() 91 CALL (impl, dst, src, n); in do_one_test() 128 FOR_EACH_IMPL (impl, 0) in do_test() 129 do_one_test (impl, s2, s1, len, n); in do_test() 142 FOR_EACH_IMPL (impl, 0) in test_main() [all …]
|
A D | bench-strcat.c | 52 do_one_test (impl_t *impl, CHAR *dst, const CHAR *src) in do_one_test() argument 57 if (CALL (impl, dst, src) != dst) in do_one_test() 59 error (0, 0, "Wrong result in function %s %p %p", impl->name, in do_one_test() 60 CALL (impl, dst, src), dst); in do_one_test() 68 impl->name, dst, src); in do_one_test() 77 CALL (impl, dst, src); in do_one_test() 112 FOR_EACH_IMPL (impl, 0) in do_test() 115 do_one_test (impl, s2, s1); in do_test() 129 FOR_EACH_IMPL (impl, 0) in test_main() 130 printf ("\t%s", impl->name); in test_main()
|
A D | bench-strcpy.c | 54 do_one_test (impl_t *impl, CHAR *dst, const CHAR *src, in do_one_test() argument 60 if (CALL (impl, dst, src) != STRCPY_RESULT (dst, len)) in do_one_test() 62 error (0, 0, "Wrong result in function %s %p %p", impl->name, in do_one_test() 63 CALL (impl, dst, src), STRCPY_RESULT (dst, len)); in do_one_test() 72 impl->name, dst, src); in do_one_test() 80 CALL (impl, dst, src); in do_one_test() 115 FOR_EACH_IMPL (impl, 0) in do_test() 116 do_one_test (impl, s2, s1, len); in do_test() 129 FOR_EACH_IMPL (impl, 0) in test_main() 130 printf ("\t%s", impl->name); in test_main()
|
A D | bench-strncmp.c | 84 CALL (impl, s1, s2, n); in do_one_test() 111 FOR_EACH_IMPL (impl, 0) in do_test_limit() 136 do_one_test (json_ctx, impl, s1, s2, n, exp_result); in do_test_limit() 168 FOR_EACH_IMPL (impl, 0) in do_test() 188 do_one_test (json_ctx, impl, s1, s2, n, exp_result); in do_test() 206 FOR_EACH_IMPL (impl, 0) in do_one_test_page_boundary() 207 do_one_test (json_ctx, impl, s1, s2, n, exp_result); in do_one_test_page_boundary() 275 FOR_EACH_IMPL (impl, 0) in do_one_test_page() 288 FOR_EACH_IMPL (impl, 0) in do_one_test_page() 336 FOR_EACH_IMPL (impl, 0) in test_main() [all …]
|
A D | bench-rawmemchr.c | 42 do_one_test (json_ctx_t *json_ctx, impl_t *impl, const char *s, int c, char *exp_res) in do_one_test() argument 46 char *res = CALL (impl, s, c); in do_one_test() 49 error (0, 0, "Wrong result in function %s %p %p", impl->name, in do_one_test() 58 CALL (impl, s, c); in do_one_test() 97 FOR_EACH_IMPL (impl, 0) in do_test() 98 do_one_test (json_ctx, impl, (char *) (buf1 + align), seek_char, result); in do_test() 122 FOR_EACH_IMPL (impl, 0) in test_main() 123 json_element_string (&json_ctx, impl->name); in test_main()
|
A D | bench-strcasecmp.c | 43 do_one_test (impl_t *impl, const char *s1, const char *s2, int exp_result) in do_one_test() argument 47 int result = CALL (impl, s1, s2); in do_one_test() 52 error (0, 0, "Wrong result in function %s %d %d", impl->name, in do_one_test() 61 CALL (impl, s1, s2); in do_one_test() 108 FOR_EACH_IMPL (impl, 0) in do_test() 109 do_one_test (impl, s1, s2, exp_result); in do_test() 122 FOR_EACH_IMPL (impl, 0) in test_main() 123 printf ("\t%s", impl->name); in test_main()
|
A D | bench-strnlen.c | 52 do_one_test (impl_t *impl, const CHAR *s, size_t maxlen, size_t exp_len) in do_one_test() argument 54 size_t len = CALL (impl, s, maxlen), i, iters = INNER_LOOP_ITERS_LARGE; in do_one_test() 59 error (0, 0, "Wrong result in function %s %zd %zd", impl->name, in do_one_test() 68 CALL (impl, s, maxlen); in do_one_test() 94 FOR_EACH_IMPL (impl, 0) in do_test() 95 do_one_test (impl, (CHAR *) (buf + align), maxlen, MIN (len, maxlen)); in do_test() 108 FOR_EACH_IMPL (impl, 0) in test_main() 109 printf ("\t%s", impl->name); in test_main()
|
A D | bench-strspn.c | 61 do_one_test (impl_t *impl, const CHAR *s, const CHAR *acc, size_t exp_res) in do_one_test() argument 63 size_t res = CALL (impl, s, acc), i, iters = INNER_LOOP_ITERS_MEDIUM; in do_one_test() 68 error (0, 0, "Wrong result in function %s %p %p", impl->name, in do_one_test() 77 CALL (impl, s, acc); in do_one_test() 123 FOR_EACH_IMPL (impl, 0) in do_test() 124 do_one_test (impl, s, acc, pos); in do_test() 137 FOR_EACH_IMPL (impl, 0) in test_main() 138 printf ("\t%s", impl->name); in test_main()
|
A D | bench-strlen.c | 49 do_one_test (json_ctx_t *json_ctx, impl_t *impl, const CHAR *s, size_t exp_len) in do_one_test() argument 51 size_t len = CALL (impl, s), i, iters = INNER_LOOP_ITERS_LARGE; in do_one_test() 56 error (0, 0, "Wrong result in function %s %zd %zd", impl->name, in do_one_test() 65 CALL (impl, s); in do_one_test() 89 FOR_EACH_IMPL (impl, 0) in do_test() 97 do_one_test (json_ctx, impl, (CHAR *) (buf + align), len); in do_test() 123 FOR_EACH_IMPL (impl, 0) in test_main() 124 json_element_string (&json_ctx, impl->name); in test_main()
|
A D | bench-strpbrk.c | 66 do_one_test (impl_t *impl, const CHAR *s, const CHAR *rej, RES_TYPE exp_res) in do_one_test() argument 68 RES_TYPE res = CALL (impl, s, rej); in do_one_test() 74 error (0, 0, "Wrong result in function %s %p %p", impl->name, in do_one_test() 83 CALL (impl, s, rej); in do_one_test() 141 FOR_EACH_IMPL (impl, 0) in do_test() 142 do_one_test (impl, s, rej, result); in do_test() 155 FOR_EACH_IMPL (impl, 0) in test_main() 156 printf ("\t%s", impl->name); in test_main()
|
A D | bench-strrchr.c | 56 do_one_test (impl_t *impl, const CHAR *s, int c, CHAR *exp_res) in do_one_test() argument 58 CHAR *res = CALL (impl, s, c); in do_one_test() 64 error (0, 0, "Wrong result in function %s %p %p", impl->name, in do_one_test() 73 CALL (impl, s, c); in do_one_test() 120 FOR_EACH_IMPL (impl, 0) in do_test() 121 do_one_test (impl, (CHAR *) (buf + align), seek_char, result); in do_test() 134 FOR_EACH_IMPL (impl, 0) in test_main() 135 printf ("\t%s", impl->name); in test_main()
|
A D | bench-strtok.c | 61 do_one_test (impl_t * impl, const char *s1, const char *s2) in do_one_test() argument 68 CALL (impl, s1, s2); in do_one_test() 69 CALL (impl, NULL, s2); in do_one_test() 70 CALL (impl, NULL, s2); in do_one_test() 98 FOR_EACH_IMPL (impl, 0) in do_test() 120 do_one_test (impl, s1, s2); in do_test() 131 FOR_EACH_IMPL (impl, 0) in test_main() 132 printf ("\t%s", impl->name); in test_main()
|
A D | bench-memmem.c | 105 do_one_test (impl_t *impl, const void *haystack, size_t haystack_len, in do_one_test() argument 114 CALL (impl, haystack, haystack_len, needle, needle_len); in do_one_test() 133 FOR_EACH_IMPL (impl, 0) in do_test() 134 do_one_test (impl, buf1, BUF1PAGES * page_size, str, len, buf1 + idx); in do_test() 164 FOR_EACH_IMPL (impl, 0) in do_random_tests() 165 do_one_test (impl, buf1, BUF1PAGES * page_size, buf1 + idx, len, in do_random_tests() 190 FOR_EACH_IMPL (impl, 0) in test_main() 191 printf ("\t%s", impl->name); in test_main()
|
A D | bench-memset-large.c | 35 do_one_test (json_ctx_t *json_ctx, impl_t *impl, CHAR *s, in do_one_test() argument 44 CALL (impl, s, c, n); in do_one_test() 66 FOR_EACH_IMPL (impl, 0) in do_test() 68 do_one_test (json_ctx, impl, (CHAR *) (buf1) + align, c, len); in do_test() 95 FOR_EACH_IMPL (impl, 0) in test_main() 96 json_element_string (&json_ctx, impl->name); in test_main()
|
A D | bench-memcpy-walk.c | 47 do_one_test (json_ctx_t *json_ctx, impl_t *impl, char *dst, char *src, in do_one_test() argument 59 CALL (impl, src_end, dst_end, len); in do_one_test() 84 FOR_EACH_IMPL (impl, 0) in do_test() 85 do_one_test (json_ctx, impl, s2, s1, len); in do_test() 112 FOR_EACH_IMPL (impl, 0) in test_main() 113 json_element_string (&json_ctx, impl->name); in test_main()
|
A D | bench-memmove.c | 32 do_one_test (json_ctx_t *json_ctx, impl_t *impl, char *dst, char *src, 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() 79 FOR_EACH_IMPL (impl, 0) in do_test() 80 do_one_test (json_ctx, impl, s2, s1, len); in do_test() 106 FOR_EACH_IMPL (impl, 0) in test_main() 107 json_element_string (&json_ctx, impl->name); in test_main()
|
A D | bench-memcpy-random.c | 126 do_one_test (json_ctx_t *json_ctx, impl_t *impl, char *dst, char *src, in do_one_test() argument 133 CALL (impl, dst + copy[j].dst, src + copy[j].src, copy[j].len); in do_one_test() 138 CALL (impl, dst + copy[j].dst, src + copy[j].src, copy[j].len); in do_one_test() 168 FOR_EACH_IMPL (impl, 0) in do_test() 169 do_one_test (json_ctx, impl, (char *) buf2, (char *) buf1, test_arr, i); in do_test() 193 FOR_EACH_IMPL (impl, 0) in test_main() 194 json_element_string (&json_ctx, impl->name); in test_main()
|
A D | bench-memset-walk.c | 35 do_one_test (json_ctx_t *json_ctx, impl_t *impl, CHAR *s, CHAR *s_end, in do_one_test() argument 43 CALL (impl, s, c, n); in do_one_test() 60 FOR_EACH_IMPL (impl, 0) in do_test() 62 do_one_test (json_ctx, impl, (CHAR *) buf1, in do_test() 89 FOR_EACH_IMPL (impl, 0) in test_main() 90 json_element_string (&json_ctx, impl->name); in test_main()
|
A D | bench-memmove-large.c | 33 do_one_test (json_ctx_t *json_ctx, impl_t *impl, char *dst, char *src, in do_one_test() argument 42 CALL (impl, dst, src, len); in do_one_test() 77 FOR_EACH_IMPL (impl, 0) in do_test() 78 do_one_test (json_ctx, impl, s2, s1, len); in do_test() 103 FOR_EACH_IMPL (impl, 0) in test_main() 104 json_element_string (&json_ctx, impl->name); in test_main()
|
A D | bench-memmove-walk.c | 51 do_one_test (json_ctx_t *json_ctx, impl_t *impl, char *dst, char *src, in do_one_test() argument 63 CALL (impl, dst, src_end, len); in do_one_test() 97 FOR_EACH_IMPL (impl, 0) in do_test() 98 do_one_test (json_ctx, impl, (char *) buf2, (char *) buf1, len); in do_test() 126 FOR_EACH_IMPL (impl, 0) in test_main() 127 json_element_string (&json_ctx, impl->name); in test_main()
|
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 50 CALL (impl, dst, src, c, n); in do_one_test() 89 FOR_EACH_IMPL (impl, 0) in do_test() 90 do_one_test (impl, s2, s1, c, len, n); in do_test() 103 FOR_EACH_IMPL (impl, 0) in test_main() 104 printf ("\t%s", impl->name); in test_main()
|