def estimate_time_for_next_round(self, run_bin_size: int, all: bool) -> float:
"""
Roughly estimates the time needed for the next benchmarking round.
:param run_bin_size: times a program block is benchmarked in a single block of time and the size of a round
:param all: expect all program block to be benchmarked
:return: estimated time in seconds
"""
if "__ov-time" not in self.properties():
return -1
summed = 0
to_bench = range(0, len(self.runs)) if all else self.get_program_ids_to_bench()
for i in to_bench:
summed += scipy.mean(self.runs[i]["__ov-time"] if "__ov_time" in self.runs[i].data else 0) * run_bin_size
return summed
#ef add_run_data(self, data: t.Dict[str, t.List[Number]] = None, attributes: t.Dict[str, str] = None,
# property_descriptions: t.Dict[str, str] = None) -> int:
# """
# Adds a new run data (corresponding to a program block) and returns its id.
#
# :param data: benchmarking data of the new run data object
# :param attributes: attributes of the new run data object
# :param property_descriptions: mapping of property to a description
# :return: id of the run data object (and its corresponding program block)
# """
# self.runs.append(RunData(data, attributes=attributes, property_descriptions))
# return len(self.runs) - 1
评论列表
文章目录