summaryrefslogtreecommitdiffstats
path: root/20
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2020-12-09 09:47:40 +0100
committerGustav Sörnäs <gustav@sornas.net>2020-12-09 09:47:40 +0100
commit6e9d72516322413c60fd577353d81e2a53101f50 (patch)
tree110053fc0cd9ff1441a7a42d19dc12de08d83570 /20
parentbd023d685034d95625515fbb7f7c030582ae3c73 (diff)
downloadaoc-6e9d72516322413c60fd577353d81e2a53101f50.tar.gz
update timing table
Diffstat (limited to '20')
-rw-r--r--20/README35
-rw-r--r--20/py/aoc20.py36
2 files changed, 42 insertions, 29 deletions
diff --git a/20/README b/20/README
index 88a2d91..d023a37 100644
--- a/20/README
+++ b/20/README
@@ -1,27 +1,18 @@
Runtime:
-day part | time | tot_time | ans
----------+--------+----------+-----------
- 1 1 | 0.352 | 0.352 | 996996
- 1 2 | 3.168 | 3.520 | 9210402
- 2 1 | 0.846 | 4.366 | 591
- 2 2 | 0.764 | 5.129 | 335
- 3 1 | 1.921 | 7.051 | 209
- 3 2 | 2.197 | 9.248 | 1574890240
- 4 1 | 0.730 | 9.978 | 222
- 4 2 | 1.570 | 11.547 | 140
- 5 1 | 1.698 | 13.245 | 959
- 5 2 | 1.772 | 15.017 | 527
- 6 1 | 1.380 | 16.397 | 6714
- 6 2 | 3.646 | 20.043 | 3435
- 7 1 | 6.272 | 26.315 | 139
- 7 2 | 4.574 | 30.889 | 58175
- 8 1 | 0.277 | 31.166 | 2025
- 8 2 | 1.211 | 32.377 | 826
- 9 1 | 2.740 | 35.116 | 26796446
- 9 2 | 2.762 | 37.878 | 3353494
----------+--------+----------+-----------
- x.xxx
+ -------Part 1-------- -------Part 2--------
+Day Time Ans Time Ans Total time
+ 1 0.397 996996 3.149 9210402 3.547
+ 2 0.824 591 0.757 335 5.128
+ 3 1.915 209 2.237 1574890240 9.280
+ 4 0.725 222 1.543 140 11.548
+ 5 1.813 959 1.799 527 15.160
+ 6 1.404 6714 3.717 3435 20.281
+ 7 6.058 139 4.394 58175 30.733
+ 8 0.254 2025 1.199 826 32.186
+ 9 2.652 26796446 2.748 3353494 37.586
+ --------- ---------
+avg 1.783 2.394
Stats:
diff --git a/20/py/aoc20.py b/20/py/aoc20.py
index 5a90a91..c5e50c1 100644
--- a/20/py/aoc20.py
+++ b/20/py/aoc20.py
@@ -67,8 +67,20 @@ if __name__ == "__main__":
print(f"maybe try {argv[0]} --help ?")
i += 1
- print("day part | time | tot_time | ans")
- print("----------+--------+----------+-----------")
+ def running_part(part):
+ return only_part == 0 or part == only_part
+
+ print(" ", end="")
+ if running_part(1):
+ print(" -------Part 1--------", end="")
+ if running_part(2):
+ print(" -------Part 2--------", end="")
+ print()
+ print("Day", end="")
+ print(" Time Ans ", end="")
+ if only_part == 0:
+ print(" Time Ans ", end="")
+ print(" Total time")
tot_time, tot_time_part = 0, [0, 0]
runs = 0
@@ -77,8 +89,9 @@ if __name__ == "__main__":
if day+1 in skip or (only and day+1 not in only):
continue
input = open(f"{input_root}/{day+1:02}").readlines()
+ print(f" {day+1:2} ", end="")
for part, part_func in enumerate((mod.pt1, mod.pt2)):
- if only_part != 0 and part+1 != only_part:
+ if not running_part(part+1):
continue
times = []
for i in range(run_times):
@@ -89,10 +102,19 @@ if __name__ == "__main__":
avg_time = sum(times) / len(times)
tot_time += avg_time
tot_time_part[part] += avg_time
- print(f" {day+1:2} {part+1} | {avg_time*1000:6.3f} | {tot_time*1000:6.3f} | {ans}")
+ print(f"{avg_time*1000:6.3f} {ans:14} ", end="")
+ print(f"{tot_time*1000:8.3f}")
+
runs += 1
- print("----------+--------+----------+-----------")
+ print(" ---------", end="")
+ if only_part == 0:
+ print(" ---------", end="")
+ print()
+ print("avg ", end="")
if only_part in (0, 1):
- print(f"average 1 | {tot_time_part[0]*1000/runs:6.3f} |")
+ print(f"{tot_time_part[0]*1000/runs:6.3f}", end="")
+ if only_part == 0:
+ print(" ", end="")
if only_part in (0, 2):
- print(f"average 2 | {tot_time_part[1]*1000/runs:6.3f} |")
+ print(f"{tot_time_part[1]*1000/runs:6.3f}", end="")
+ print()