Skip to main content

Time code using syntax similar to tic and toc in MATLAB

Project description

pytictoc contains a class TicToc which replicates the functionality of MATLAB’s tic and toc for easily timing sections of code. Under the hood, pytictoc uses the default_timer function from Python’s timeit module.

INSTALLATION

pytictoc can be installed and updated via conda or pip.

pip

pip install pytictoc
pip install pytictoc --upgrade

conda

conda install pytictoc -c ecf
conda update pytictoc -c ecf

USAGE

Basic usage:

>> from pytictoc import TicToc
>> t = TicToc() #create instance of class

>> t.tic() #Start timer
>> t.toc() #Time elapsed since t.tic()
Elapsed time is 2.612231 seconds.

A string passed to the toc method changes the printed message. This can be useful to differentiate timing of different sections in the same script.

>> t.toc('Section 1 took')
Section 1 took 16.494467 seconds.

An optional keyword argument restarts the timer (equivalent to t.tic()) after reporting the time elapsed.

>> t.toc(restart=True)
Elapsed time is 36.986837 seconds.
>>t.toc()
Elapsed time is 2.393425 seconds.

If you want to return the time elapsed to a variable rather than printing it, use the tocvalue method.

>>spam = t.tocvalue()
>>spam
20.156261717544602

The TicToc class can be used within a context manager as an alternative way to time a section of code. The time taken to run the code inside the with statement will be reported on exit.

>>with TicToc():
>>    spam = [x+1 for x in range(10000)]
Elapsed time is 0.002343 seconds.

Determining and setting the timer

pytictoc uses timeit.default_timer to time code. On Python 3.3 and later, this is an alias for time.perf_counter. On earlier versions of Python it is an alias for the most precise timer for a given system.

To see which function is being used:

>>import pytictoc
>>pytictoc.default_timer
<function time.perf_counter>

You can change the timer by simple assignment.

>>import time
>>pytictoc.default_timer = time.clock
>>pytictoc.default_timer
<function time.clock>

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytictoc-1.5.2.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

pytictoc-1.5.2-py2.py3-none-any.whl (4.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pytictoc-1.5.2.tar.gz.

File metadata

  • Download URL: pytictoc-1.5.2.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

File hashes

Hashes for pytictoc-1.5.2.tar.gz
Algorithm Hash digest
SHA256 dd9b636493bf140a1f8113eae296439dd5c8703ed9dcded181ae0936870530eb
MD5 71be1549b3573535eb308ea4a87e7f55
BLAKE2b-256 219d78c9b6206eb5aa683ef2c15462109a2a7205b5a31ab136b8c77454f7f03a

See more details on using hashes here.

File details

Details for the file pytictoc-1.5.2-py2.py3-none-any.whl.

File metadata

  • Download URL: pytictoc-1.5.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 4.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

File hashes

Hashes for pytictoc-1.5.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0f612ba1e23051e5b0688a45b1d5a2d37388a545db61a69fba83bc7bd735211c
MD5 600316ebaa0955c7c65175982859386e
BLAKE2b-256 ec6bcdeaeee99094dd07582ee23e2c537721f94a2b34b0b33770dfc66010a0fc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page