Bases: ProgramOperationalMetric
Throughput: program invocations per wall-clock second.
Example:
program.compile(
metrics=[
synalinks.metrics.ProgramCallsPerSecond(),
],
)
Source code in synalinks/src/metrics/program_metrics.py
| @synalinks_export("synalinks.metrics.ProgramCallsPerSecond")
class ProgramCallsPerSecond(ProgramOperationalMetric):
"""Throughput: program invocations per wall-clock second.
Example:
```python
program.compile(
metrics=[
synalinks.metrics.ProgramCallsPerSecond(),
],
)
```
"""
def __init__(self, name="program_calls_per_second"):
super().__init__(name=name)
def result(self):
elapsed = self._delta_program("invocation_elapsed_s")
if elapsed <= 0.0:
return 0.0
return self._delta_program("invocations") / elapsed
|