Compare commits
No commits in common. "4ce70c8565eef44538b8dbefa48840b8ac13e01d" and "4d1b075086cf59c10c8d8c5fdf7cea133818203a" have entirely different histories.
4ce70c8565
...
4d1b075086
@ -3,4 +3,3 @@ beautifulsoup4~=4.12.2
|
|||||||
fishhook~=0.2.9
|
fishhook~=0.2.9
|
||||||
pygame~=2.5.2
|
pygame~=2.5.2
|
||||||
requests~=2.31.0
|
requests~=2.31.0
|
||||||
tqdm~=4.66
|
|
||||||
@ -9,7 +9,6 @@ from bs4 import BeautifulSoup
|
|||||||
from .datafiles import JSONFile
|
from .datafiles import JSONFile
|
||||||
from .stopwatch import StopWatch
|
from .stopwatch import StopWatch
|
||||||
from typing import Any, Callable, List, Tuple, Type
|
from typing import Any, Callable, List, Tuple, Type
|
||||||
from tqdm.auto import tqdm
|
|
||||||
from .tools import get_script_dir
|
from .tools import get_script_dir
|
||||||
|
|
||||||
BASE_PATH = get_script_dir()
|
BASE_PATH = get_script_dir()
|
||||||
@ -56,11 +55,10 @@ class AOCDay:
|
|||||||
if not measure_runtime or case_count < len(self.inputs[part]) - 1:
|
if not measure_runtime or case_count < len(self.inputs[part]) - 1:
|
||||||
answer = self.part_func[part]()
|
answer = self.part_func[part]()
|
||||||
else:
|
else:
|
||||||
stopwatch = StopWatch(auto_start=False)
|
stopwatch = StopWatch()
|
||||||
for _ in tqdm(range(timeit_number), desc=f"Part {part+1}", leave=False):
|
for _ in range(timeit_number):
|
||||||
stopwatch.start()
|
|
||||||
answer = self.part_func[part]()
|
answer = self.part_func[part]()
|
||||||
stopwatch.stop()
|
stopwatch.stop()
|
||||||
exec_time = stopwatch.avg_string(timeit_number)
|
exec_time = stopwatch.avg_string(timeit_number)
|
||||||
|
|
||||||
if solution is None:
|
if solution is None:
|
||||||
|
|||||||
@ -8,7 +8,6 @@ class StopWatch:
|
|||||||
stopped: int | None = None
|
stopped: int | None = None
|
||||||
|
|
||||||
def __init__(self, auto_start=True):
|
def __init__(self, auto_start=True):
|
||||||
self.total_elapsed = 0
|
|
||||||
if auto_start:
|
if auto_start:
|
||||||
self.start()
|
self.start()
|
||||||
|
|
||||||
@ -16,9 +15,9 @@ class StopWatch:
|
|||||||
self.started = perf_counter_ns()
|
self.started = perf_counter_ns()
|
||||||
self.stopped = None
|
self.stopped = None
|
||||||
|
|
||||||
def stop(self):
|
def stop(self) -> float:
|
||||||
self.stopped = perf_counter_ns()
|
self.stopped = perf_counter_ns()
|
||||||
self.total_elapsed += self.elapsed()
|
return self.elapsed()
|
||||||
|
|
||||||
reset = start
|
reset = start
|
||||||
|
|
||||||
@ -29,10 +28,10 @@ class StopWatch:
|
|||||||
return self.stopped - self.started
|
return self.stopped - self.started
|
||||||
|
|
||||||
def elapsed_string(self) -> str:
|
def elapsed_string(self) -> str:
|
||||||
return human_readable_time_from_ns(self.total_elapsed)
|
return human_readable_time_from_ns(self.elapsed())
|
||||||
|
|
||||||
def avg_elapsed(self, divider: int) -> float:
|
def avg_elapsed(self, divider: int) -> float:
|
||||||
return self.total_elapsed / divider
|
return self.elapsed() / divider
|
||||||
|
|
||||||
def avg_string(self, divider: int) -> str:
|
def avg_string(self, divider: int) -> str:
|
||||||
return human_readable_time_from_ns(int(self.avg_elapsed(divider)))
|
return human_readable_time_from_ns(int(self.avg_elapsed(divider)))
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user