monotonic_clock
monotonic_clock copied to clipboard
Portable C library for getting monotonic time
monotonic_clock/README
By Thomas Habets [email protected] 2010
What
Provides access to a clock that always increases at the same rate. Unlike the system time (e.g. gettimeofday()) this will never decrease.
However, if there's no monotonic clock on your system then this library will fall back to gettimeofday().
For more information see: https://blog.habets.se/2010/09/gettimeofday-should-never-be-used-to-measure-time.html
Portability
Verified to be working:
Linux clock_gettime() OpenBSD clock_gettime() Solaris clock_gettime() MacOS X mach_absolute_time()
Using monotonic_clock in a project
You can either install it like a normal shared library:
./configure
make
sudo make install
Or import it into your project as a git submodule:
cd /path/to/project
git submodule add https://github.com/ThomasHabets/monotonic_clock.git
git submodule init
git submodule update
Add to configure.ac:
AC_CONFIG_SUBDIRS([monotonic_clock])
AC_SEARCH_LIBS([clock_gettime], [rt])
Add to Makefile.am:
SUBDIRS=monotonic_clock
AM_CFLAGS=-I$(top_builddir)/monotonic_clock/include @AM_CFLAGS@
myproghere_LDADD=$(top_builddir)/monotonic_clock/.libs/libmonotonic_clock.a
Send questions/suggestions/patches/rants/0days to [email protected]