Monoclock is a fast Python module that provides access to the monotonic clock on Linux and OS X.
Compatibility: tested on CPython 2.6.5, CPython 2.7, pypy 1.3, and pypy 1.4.
import monoclock
t = monoclock.nano_count()
print tIf you want seconds, divide t by 1e9.
Make sure you have a C compiler and Python headers installed. On Ubuntu, that can be done with
sudo apt-get install python-dev build-essential
Then, install Monoclock from PyPi:
pip install --user Monoclock
or from the git repo:
git clone https://github.com/ludios/Monoclock
cd Monoclock
pip install --user .
or without pip:
python setup.py install --user
You should now have the monoclock module installed.
Optionally, run the tests with python run_tests.py
If you're having trouble with monotonic clocks, see:
-
http://code-factor.blogspot.com/2009/11/monotonic-timers.html
-
Factor's source code.
-
Chromium's source code.
-
Windows support.
-
Solaris support (does it work?).
-
Expose
CLOCK_MONOTONIC_RAW(which is not adjusted by NTP). -
Support buggy AMD chips, or expose a
probablyBuggy()function that returnsTrueif the monotonic clock is unreliable.Note: Chromium's
base/time_win.ccjust disables use of the monotonic clock on Athlon X2 CPUs withif (cpu.vendor_name() == "AuthenticAMD" && cpu.family() == 15