diff options
Diffstat (limited to 'examples/redis-unstable/deps/jemalloc/test/stress/hookbench.c')
| -rw-r--r-- | examples/redis-unstable/deps/jemalloc/test/stress/hookbench.c | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/examples/redis-unstable/deps/jemalloc/test/stress/hookbench.c b/examples/redis-unstable/deps/jemalloc/test/stress/hookbench.c deleted file mode 100644 index 97e90b0..0000000 --- a/examples/redis-unstable/deps/jemalloc/test/stress/hookbench.c +++ /dev/null @@ -1,73 +0,0 @@ -#include "test/jemalloc_test.h" - -static void -noop_alloc_hook(void *extra, hook_alloc_t type, void *result, - uintptr_t result_raw, uintptr_t args_raw[3]) { -} - -static void -noop_dalloc_hook(void *extra, hook_dalloc_t type, void *address, - uintptr_t args_raw[3]) { -} - -static void -noop_expand_hook(void *extra, hook_expand_t type, void *address, - size_t old_usize, size_t new_usize, uintptr_t result_raw, - uintptr_t args_raw[4]) { -} - -static void -malloc_free_loop(int iters) { - for (int i = 0; i < iters; i++) { - void *p = mallocx(1, 0); - free(p); - } -} - -static void -test_hooked(int iters) { - hooks_t hooks = {&noop_alloc_hook, &noop_dalloc_hook, &noop_expand_hook, - NULL}; - - int err; - void *handles[HOOK_MAX]; - size_t sz = sizeof(handles[0]); - - for (int i = 0; i < HOOK_MAX; i++) { - err = mallctl("experimental.hooks.install", &handles[i], - &sz, &hooks, sizeof(hooks)); - assert(err == 0); - - timedelta_t timer; - timer_start(&timer); - malloc_free_loop(iters); - timer_stop(&timer); - malloc_printf("With %d hook%s: %"FMTu64"us\n", i + 1, - i + 1 == 1 ? "" : "s", timer_usec(&timer)); - } - for (int i = 0; i < HOOK_MAX; i++) { - err = mallctl("experimental.hooks.remove", NULL, NULL, - &handles[i], sizeof(handles[i])); - assert(err == 0); - } -} - -static void -test_unhooked(int iters) { - timedelta_t timer; - timer_start(&timer); - malloc_free_loop(iters); - timer_stop(&timer); - - malloc_printf("Without hooks: %"FMTu64"us\n", timer_usec(&timer)); -} - -int -main(void) { - /* Initialize */ - free(mallocx(1, 0)); - int iters = 10 * 1000 * 1000; - malloc_printf("Benchmarking hooks with %d iterations:\n", iters); - test_hooked(iters); - test_unhooked(iters); -} |
