How to Measure Time of Functions#
When you want to measure the performance of a function, use the function decorator.
What Is a Decorated Function?#
The @
preceding a function is called a decorator. Such decoractor wraps a function and gives extra functionality without changing the original function.
The pattern is:
Examples#
Basic Usage#
Use the @function_timer()
as decorator to measure the performance of a function. Then the Timer will be triggered each time the function is called, and the clock will stop automatically when the function is finished:
Python | |
---|---|
How it appears in the terminal:
% Elapsed time: 12.34 seconds for thread TEST_FUNCTION
How to Get Function and Arguments as Thread Name
If you want to keep track of a function and its arguments for troubleshooting and measuring the performance of a function, it's already handled by the @function_timer()
decorator. For example:
Python | |
---|---|
How it appears in the terminal:
% Elapsed time: 0.12 seconds for thread SUM_NUMBERS(A=1, B=2)
This also works with keyword arguments:
Python | |
---|---|
How it appears in the terminal:
% Elapsed time: 0.12 seconds for thread ANONYMOUS_LAST_NAME(FIRST_NAME='JOHN', LAST_NAME='UNKNOWN')
Custom Thread Name and Decimals#
Similar to customising decimals and thread name for the Timer, this is also possible with the @function_timer()
decorator. Simply use the thread
and decimals
arguments where the custom thread will override the default function name and list of arguments:
Python | |
---|---|
How it appears in the terminal:
% Elapsed time: 0.12345 seconds for thread CUSTOM