mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-12-01 18:57:38 +01:00
Measure with caching disabled, global caching, and thread-local
caching. (Logical change 1.114)
This commit is contained in:
parent
716484f000
commit
7a346fbf8c
1 changed files with 13 additions and 1 deletions
|
@ -48,7 +48,7 @@ measure_unwind (int maxlevel)
|
||||||
panic ("Unwound only %d levels, expected at least %d levels",
|
panic ("Unwound only %d levels, expected at least %d levels",
|
||||||
level, maxlevel);
|
level, maxlevel);
|
||||||
|
|
||||||
printf ("initialization time = %gnsec, time per unwind-step = %gnsec\n",
|
printf (" unw_{getcontext+init_local}: %9.3f nsec, unw_step: %9.3f nsec\n",
|
||||||
1e9*(mid - start), 1e9*(stop - mid)/level);
|
1e9*(mid - start), 1e9*(stop - mid)/level);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -71,6 +71,18 @@ main (int argc, char **argv)
|
||||||
if (argc > 1)
|
if (argc > 1)
|
||||||
maxlevel = atol (argv[1]);
|
maxlevel = atol (argv[1]);
|
||||||
|
|
||||||
|
printf ("Caching: none\n");
|
||||||
|
unw_set_caching_policy (unw_local_addr_space, UNW_CACHE_NONE);
|
||||||
|
for (i = 0; i < 20; ++i)
|
||||||
|
f1 (0, maxlevel);
|
||||||
|
|
||||||
|
printf ("Caching: global\n");
|
||||||
|
unw_set_caching_policy (unw_local_addr_space, UNW_CACHE_GLOBAL);
|
||||||
|
for (i = 0; i < 20; ++i)
|
||||||
|
f1 (0, maxlevel);
|
||||||
|
|
||||||
|
printf ("Caching: per-thread\n");
|
||||||
|
unw_set_caching_policy (unw_local_addr_space, UNW_CACHE_PER_THREAD);
|
||||||
for (i = 0; i < 20; ++i)
|
for (i = 0; i < 20; ++i)
|
||||||
f1 (0, maxlevel);
|
f1 (0, maxlevel);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in a new issue