from .discrete_load import DiscreteLoad
from .discrete_result import DiscreteResult
from .expander import GlobalWidth
from .discrete_load import DiscreteLoad
from .discrete_result import DiscreteResult
from .expander import GlobalWidth
from .limit_handler import LimitHandler
from .load_rounding import LoadRounding
from .measurement_database import MeasurementDatabase
from .limit_handler import LimitHandler
from .load_rounding import LoadRounding
from .measurement_database import MeasurementDatabase
from .selector import Selector
from .target_scaling import TargetScaling
from .trial_measurement import AbstractMeasurer
from .selector import Selector
from .target_scaling import TargetScaling
from .trial_measurement import AbstractMeasurer
self,
measurer: AbstractMeasurer,
debug: Optional[Callable[[str], None]] = None,
self,
measurer: AbstractMeasurer,
debug: Optional[Callable[[str], None]] = None,
"""Perform initial trials, create state object, proceed with main loop.
Stateful arguments (measurer and debug) are stored.
"""Perform initial trials, create state object, proceed with main loop.
Stateful arguments (measurer and debug) are stored.
:returns: Structure containing conditional throughputs and other stats,
one for each search goal. If a value is None it means there is
no lower bound (min load turned out to be an upper bound).
:returns: Structure containing conditional throughputs and other stats,
one for each search goal. If a value is None it means there is
no lower bound (min load turned out to be an upper bound).
:raises RuntimeError: If total duration is larger than timeout,
or if min load becomes an upper bound for a search goal
that has fail fast true.
:raises RuntimeError: If total duration is larger than timeout,
or if min load becomes an upper bound for a search goal
that has fail fast true.
for goal in self.config.goals:
target = self.scaling.goal_to_final_target[goal]
bounds = self.database.get_relevant_bounds(target=target)
for goal in self.config.goals:
target = self.scaling.goal_to_final_target[goal]
bounds = self.database.get_relevant_bounds(target=target)