backports.time_perf_counter
This package contains a backport of the time.perf_counter()
function introduced in Python 3.3. This package is intended for use
with Python versions older than 3.3 but will work just fine under
newer Pythons. When used with Python 3.3 and newer, the main module
simply exports time.perf_counter()
.
The backported functionality is based on the pseudocode in PEP 418
that describes how time.perf_counter()
could be implemented. When
used with Python versions older than 3.3, the exported
perf_counter()
function relies on the monotonic()
function
provided by the monotonic package.
Usage
I recommend not introducing a dependency on this package under Pythons
which provide time.perf_counter()
. In your package's
setup.py
:
import setuptools
setuptools.setup(
install_requires=[
'backports.time_perf_counter; python_version < "3.3"'
]
)
In the module that relies on perf_counter()
:
try:
# Python >= 3.3
from time import perf_counter
except ImportError:
# Python < 3.3
from backports.time_perf_counter import perf_counter
Tests
This package's tests use the builtin unittest and can be run without first installing the package:
python setup.py test
The test cases are based on tests from the Python standard library's
time
module that exercise time.perf_counter()
. There are an
admittedly small number of tests; pull requests with more tests are
welcome.