schrodinger.application.desmond.packages.timer module¶
Facilities for timing a block of code. Copyright Schrodinger, LLC. All rights reserved.
Example usage:
from schrodinger.application.desmond.packages.timer import timer
- with timer(“Reading the trajectory…”):
- traj.read_trj(trj_fname)
Example output:
- Reading the trajectory…
- 100 frames Done. (0.5 sec)
In this example, we have three lines in output. Line#1 is the start message, and
line#3 is the timing message. The start-message and the format for the timing
message can be customed by the message and fmt arguments, respectively.
Arguments for timer:
| type message: | |
|---|---|
str or None |
|
| type message: | |
The message to print out before the timing starts. Default is
None – no message will be printed. |
|
| type fmt: | |
str |
|
| type fmt: | |
| The format to print out the timing. Default is “Done. (%.2f sec)”. A custom format should contain 1 floating number control paramter. | |
| type threshold: | |
float |
|
| param threshold: | |
Specifies a threshold. If the elapsed time is less than
threshold, no timing message will not be printed out. |
|
| type record: | |
list or None |
|
| param record: | |
| If a list value is given, the current elapsed time will be appended to the list. This is handy if you want to accumulate the elapsed times. | |
| type logger: | |
| A callable object. | |
| param logger: | |
| Function called to print the messages. | |
-
class
schrodinger.application.desmond.packages.timer.Timer(message=None, threshold=0.1, fmt=' Done. (%.2f sec)', record=None, logger=<function _default_logger>)¶ Bases:
objectYou can use this class to create your own timer function with custom default behavior.
Example usage:
from schrodinger.application.desmond.packages.timer import Timer
mytimer = Timer(threshold=0.2) # Creates a timer with 0.2 threshold.
- with mytimer(“Reading the trajectory…”):
- traj.read_trj(trj_fname)
In this example,
mytimerbehaves exactly the same as the standardtimer(see the docstring of this module) except for the default value ofthresholdparameter that has been customed to 0.2.-
class
Args(message, threshold, fmt, record, logger)¶ Bases:
tuple-
__contains__¶ Return key in self.
-
__init__¶ Initialize self. See help(type(self)) for accurate signature.
-
__len__¶ Return len(self).
-
count(value) → integer -- return number of occurrences of value¶
-
fmt¶ Alias for field number 2
-
index(value[, start[, stop]]) → integer -- return first index of value.¶ Raises ValueError if the value is not present.
-
logger¶ Alias for field number 4
-
message¶ Alias for field number 0
-
record¶ Alias for field number 3
-
threshold¶ Alias for field number 1
-
-
__init__(message=None, threshold=0.1, fmt=' Done. (%.2f sec)', record=None, logger=<function _default_logger>)¶ Initialize self. See help(type(self)) for accurate signature.