Mercurial > geeqie
changeset 509:b78a91d0779e
Move get_exec_time() to debug.{c,h}.
author | zas_ |
---|---|
date | Thu, 24 Apr 2008 09:43:23 +0000 |
parents | 011a6be611c8 |
children | 809bcb660781 |
files | src/debug.c src/debug.h src/main.c src/main.h |
diffstat | 4 files changed, 70 insertions(+), 60 deletions(-) [+] |
line wrap: on
line diff
--- a/src/debug.c Thu Apr 24 09:09:48 2008 +0000 +++ b/src/debug.c Thu Apr 24 09:43:23 2008 +0000 @@ -37,4 +37,64 @@ return (debug_level >= level); } +static gint timeval_delta(struct timeval *result, struct timeval *x, struct timeval *y) +{ + if (x->tv_usec < y->tv_usec) + { + gint nsec = (y->tv_usec - x->tv_usec) / 1000000 + 1; + y->tv_usec -= 1000000 * nsec; + y->tv_sec += nsec; + } + + if (x->tv_usec - y->tv_usec > 1000000) + { + gint nsec = (x->tv_usec - y->tv_usec) / 1000000; + y->tv_usec += 1000000 * nsec; + y->tv_sec -= nsec; + } + + result->tv_sec = x->tv_sec - y->tv_sec; + result->tv_usec = x->tv_usec - y->tv_usec; + + return x->tv_sec < y->tv_sec; +} + +const gchar *get_exec_time(void) +{ + static gchar timestr[30]; + static struct timeval start_tv = {0, 0}; + static struct timeval previous = {0, 0}; + static gint started = 0; + + struct timeval tv = {0, 0}; + static struct timeval delta = {0, 0}; + + gettimeofday(&tv, NULL); + + if (start_tv.tv_sec == 0) start_tv = tv; + + tv.tv_sec -= start_tv.tv_sec; + if (tv.tv_usec >= start_tv.tv_usec) + tv.tv_usec -= start_tv.tv_usec; + else + { + tv.tv_usec += 1000000 - start_tv.tv_usec; + tv.tv_sec -= 1; + } + + if (started) timeval_delta(&delta, &tv, &previous); + + previous = tv; + started = 1; + + g_snprintf(timestr, sizeof(timestr), "%5d.%06d (+%05d.%06d)", (int)tv.tv_sec, (int)tv.tv_usec, (int)delta.tv_sec, (int)delta.tv_usec); + + return timestr; +} + +void init_exec_time(void) +{ + get_exec_time(); +} + #endif
--- a/src/debug.h Thu Apr 24 09:09:48 2008 +0000 +++ b/src/debug.h Thu Apr 24 09:43:23 2008 +0000 @@ -27,6 +27,8 @@ void set_debug_level(gint new_level); void debug_level_add(gint delta); gint required_debug_level(gint level); +const gchar *get_exec_time(void); +void init_exec_time(void); #define DEBUG_N(n, ...) do \ { \ @@ -38,15 +40,19 @@ putchar('\n'); \ } \ } while (0) -#else + +#else /* DEBUG */ #define get_debug_level() (0) #define set_debug_level(new_level) do { } while(0) #define debug_level_add(delta) do { } while(0) #define required_debug_level(level) (0) +#define get_exec_time() "" +#define init_exec_time() do { } while(0) + #define DEBUG_N(n, ...) do { } while(0) -#endif +#endif /* DEBUG */ #define DEBUG_0(...) DEBUG_N(0, __VA_ARGS__) #define DEBUG_1(...) DEBUG_N(1, __VA_ARGS__)
--- a/src/main.c Thu Apr 24 09:09:48 2008 +0000 +++ b/src/main.c Thu Apr 24 09:43:23 2008 +0000 @@ -119,60 +119,6 @@ return ((options->image.zoom_increment != 0) ? (gdouble)options->image.zoom_increment / 10.0 : 1.0); } -static gint timeval_delta(struct timeval *result, struct timeval *x, struct timeval *y) -{ - if (x->tv_usec < y->tv_usec) - { - gint nsec = (y->tv_usec - x->tv_usec) / 1000000 + 1; - y->tv_usec -= 1000000 * nsec; - y->tv_sec += nsec; - } - - if (x->tv_usec - y->tv_usec > 1000000) - { - gint nsec = (x->tv_usec - y->tv_usec) / 1000000; - y->tv_usec += 1000000 * nsec; - y->tv_sec -= nsec; - } - - result->tv_sec = x->tv_sec - y->tv_sec; - result->tv_usec = x->tv_usec - y->tv_usec; - - return x->tv_sec < y->tv_sec; -} - -const gchar *get_exec_time() -{ - static gchar timestr[30]; - static struct timeval start_tv = {0, 0}; - static struct timeval previous = {0, 0}; - static gint started = 0; - - struct timeval tv = {0, 0}; - static struct timeval delta = {0, 0}; - - gettimeofday(&tv, NULL); - - if (start_tv.tv_sec == 0) start_tv = tv; - - tv.tv_sec -= start_tv.tv_sec; - if (tv.tv_usec >= start_tv.tv_usec) - tv.tv_usec -= start_tv.tv_usec; - else - { - tv.tv_usec += 1000000 - start_tv.tv_usec; - tv.tv_sec -= 1; - } - - if (started) timeval_delta(&delta, &tv, &previous); - - previous = tv; - started = 1; - - g_snprintf(timestr, sizeof(timestr), "%5d.%06d (+%05d.%06d)", (int)tv.tv_sec, (int)tv.tv_usec, (int)delta.tv_sec, (int)delta.tv_usec); - - return timestr; -} /* *----------------------------------------------------------------------------- @@ -1372,8 +1318,8 @@ gchar *buf; gchar *bufl; - /* init execution time counter*/ - get_exec_time(); + /* init execution time counter (debug only) */ + init_exec_time(); /* setup locale, i18n */ gtk_set_locale();