It allows you to time some parts of your code in an easy way.
You can get it from pip.
pip install ttictoc
First import the class
from ttictoc import TicToc
Now, they are several ways to use it.
Without creating any object you can time your code as follow.
with TicToc('name'):
some code...
# Prints the elapsed time
Or by creating an object you can do de same.
t = TicToc()
with t:
some code...
# Prints the elapsed time
You can also call the tic toc explicitply as shown bellow.
t = TicToc('name')
t.tic()
some code...
t.toc()
print(t.elapsed) # Prints and returns the elapsed time
or
t = TicToc()
t.tic()
some code...
print(t.toc()) # Prints and returns the elapsed time
If you want to time multiple levels of your code, you can also do it by setting 'nested' to True.
t = TicToc(nested=True)
t.tic()
some code1...
t.tic()
some code2...
t.tic()
some code3...
print(t.toc()) # Prints time for code 3
print(t.toc()) # Prints time for code 2 with code 3
print(t.toc()) # Prints time for code 1 with code 2 and 3
You could do as follow.
t = TicToc()
tic = t.tic
toc = t.toc
tic()
some code...
toc()
Even better, just import them.
from ttictoc import tic,toc
And use them.
tic()
some code...
toc()
What about nested tic tocs?
tic(nested=True)
some code1...
tic(nested=True)
some code2...
print(toc()) # Prints the time that took some code 2 to run
print(toc()) # Prints the time that took some code 1 and 2 to run
or
tic(nested=True)
some code1...
tic()
some code2...
print(toc()) # Prints the time that took some code 2 to run
print(toc()) # Prints the time that took some code 1 and 2 to run
It's the same.
set_print_toc
: Sets the global behaviour of toc about printing the elapsed time. However, if you use toc(print_elapsed=True), for that specific toc the elapsed time will be printed even ifset_print_toc
was put toFalse
.set_nested
: Indicates if tic toc should allow nesting.
from ttictoc import TicToc
t = TicToc()
t.set_nested(True)
t.set_print_toc(False)
The class has 4 arguments: name
,method
,nested
, and print_toc
.
name
: It's the name of the object. It's not required.method
: Indicates which method should be used to get the time.nested
: Allows to use the same object several times, in different indentations to time.print_toc
: Indicate if you want to print, or not, the elapsed time when calling toc.
The method
argument can be either int
, str
, or your method choice. If it's a string, the valid values are time
, perf_counter
, and process_time
. If it's an integer, the valid values are 0
, 1
, and 2
.
time
or0
: time.time
If python > 2
perf_counter
or1
: time.perf_counterprocess_time
or2
: time.process_time
If python version >= 3.7:
time_ns
or3
: time.time_nsperf_counter_ns
or4
: time.perf_counter_nsprocess_time_ns
or5
: time.process_time_ns
In case you prefere to use other method you just do (using as example time.clock
:
TicToc(method=time.clock)
Wiht the following command.
python setup.py sdist bdist_wheel
twine upload dist/*