Monoclock

Monotonic clock access for Python


License
Other
Install
pip install Monoclock==14.4.18

Documentation

Monoclock

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.

Usage

import monoclock
t = monoclock.nano_count()
print t

If you want seconds, divide t by 1e9.

Installation

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

Misc

If you're having trouble with monotonic clocks, see:

Wishlist

  • 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 returns True if the monotonic clock is unreliable.

    Note: Chromium's base/time_win.cc just disables use of the monotonic clock on Athlon X2 CPUs with if (cpu.vendor_name() == "AuthenticAMD" && cpu.family() == 15

Contributing

Patches and pull requests are welcome.

This coding standard applies: http://ludios.org/coding-standard/