diff options
author | Eugene Kosov <eugene.kosov@mariadb.com> | 2020-07-29 08:17:57 +0300 |
---|---|---|
committer | Eugene Kosov <eugene.kosov@mariadb.com> | 2020-07-29 08:21:32 +0300 |
commit | 8ec877f40a0e8e7432f1ef2cbd1d744c793eab2d (patch) | |
tree | 9a7820aababad926ef130b8dada847a5dc54b65e /mysys | |
parent | 3c3f172f17de217389bc51053c555a5d7e91ddff (diff) | |
download | mariadb-git-8ec877f40a0e8e7432f1ef2cbd1d744c793eab2d.tar.gz |
speed up my_timer_init()
I run perf top during ./mtr testing and constantly see times()
function there. It's so slow, that it has no sense to run it
in a loop too many times.
This patch speeds up -suite=innodb for me from 218s to 208s.
9s of times() function!
Diffstat (limited to 'mysys')
-rw-r--r-- | mysys/my_rdtsc.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/mysys/my_rdtsc.c b/mysys/my_rdtsc.c index afb97553dd7..b020e224a59 100644 --- a/mysys/my_rdtsc.c +++ b/mysys/my_rdtsc.c @@ -812,7 +812,11 @@ void my_timer_init(MY_TIMER_INFO *mti) time1= my_timer_cycles(); time2= my_timer_ticks(); time3= time2; /* Avoids a Microsoft/IBM compiler warning */ +#if defined(HAVE_SYS_TIMES_H) && defined(HAVE_TIMES) + for (i= 0; i < 1000; ++i) +#else for (i= 0; i < MY_TIMER_ITERATIONS * 1000; ++i) +#endif { time3= my_timer_ticks(); if (time3 - time2 > 10) break; |