biogeme.profiling.timing module

class biogeme.profiling.timing.TimedBlock(label=None, elapsed=0.0, start_time=0.0)[source]

Bases: AbstractContextManager[TimedBlock], Generic[T]

Simple context manager for wall-clock timing.

Parameters:
  • label (str | None)

  • elapsed (float)

  • start_time (float)

elapsed: float = 0.0
label: str | None = None
start_time: float = 0.0
biogeme.profiling.timing.block_until_ready(value)[source]

Recursively block on JAX results so timings reflect actual execution.

Return type:

None

Parameters:

value (Any)

biogeme.profiling.timing.timed_call(function, *args, **kwargs)[source]

Execute a callable, block until ready, and return result and elapsed time.

Return type:

tuple[TypeVar(T), float]

Parameters:
  • function (Callable[[...], T])

  • args (Any)

  • kwargs (Any)