pygsti.tools.opttools

This module defines tools for optimization and profiling

Module Contents

Functions

cache_by_hashed_args(obj)

Decorator for caching a function values

timed_block(label, time_dict=None, printer=None, verbosity=2, round_places=6, pre_message=None, format_str=None)

Context manager that times a block of code

time_hash()

Get string-version of current time

pygsti.tools.opttools.cache_by_hashed_args(obj)

Decorator for caching a function values

Deprecated since version v0.9.8.3: cache_by_hashed_args() will be removed in pyGSTi v0.9.9. Use functools.lru_cache() instead.

Parameters

obj (function) – function to decorate

Returns

function

pygsti.tools.opttools.timed_block(label, time_dict=None, printer=None, verbosity=2, round_places=6, pre_message=None, format_str=None)

Context manager that times a block of code

Parameters
  • label (str) – An identifying label for this timed block.

  • time_dict (dict, optional) – A dictionary to store the final time in, under the key label.

  • printer (VerbosityPrinter, optional) – A printer object to log the timer’s message. If None, this message will be printed directly.

  • verbosity (int, optional) – The verbosity level at which to print the time message (if printer is given).

  • round_places (int, opitonal) – How many decimal places of precision to print time with (in seconds).

  • pre_message (str, optional) – A format string to print out before the timer’s message, which formats the label arguent, e.g. “My label is {}”.

  • format_str (str, optional) – A format string used to format the label before the resulting “rendered label” is used as the first argument in the final formatting string “{} took {} seconds”.

pygsti.tools.opttools.time_hash()

Get string-version of current time

Returns

str