diff options
author | Nick Mathewson <nickm@torproject.org> | 2008-12-18 17:19:04 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2008-12-18 17:19:04 +0000 |
commit | bf80e2df3fe48f81c69bb68887376b02ab247e5f (patch) | |
tree | d95e835992abf9a2bad5954042ea38e5a6a9df3c /src/common/util.h | |
parent | b91335117f9faf84001acc65859886e4ddc267a5 (diff) | |
download | tor-bf80e2df3fe48f81c69bb68887376b02ab247e5f.tar.gz tor-bf80e2df3fe48f81c69bb68887376b02ab247e5f.zip |
Replace calls to time(NULL) that occur on the order of once per read, one per write, or once per cell with calls to a function that looks at a cached value of time. This is tricksy to benchmark, since it will only help on systems where time() is a syscall and syscalls are relatively slow.
svn:r17690
Diffstat (limited to 'src/common/util.h')
-rw-r--r-- | src/common/util.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/common/util.h b/src/common/util.h index e8d78c9847..029cad9e3f 100644 --- a/src/common/util.h +++ b/src/common/util.h @@ -213,6 +213,16 @@ void format_iso_time(char *buf, time_t t); int parse_iso_time(const char *buf, time_t *t); int parse_http_time(const char *buf, struct tm *tm); int format_time_interval(char *out, size_t out_len, long interval); + +/* Cached time */ +#ifdef TIME_IS_FAST +#define approx_time() time(NULL) +#define update_approx_time(t) STMT_NIL +#else +time_t approx_time(void); +void update_approx_time(time_t now); +#endif + /* Fuzzy time. */ void ftime_set_maximum_sloppiness(int seconds); void ftime_set_estimated_skew(int seconds); |