commit 04d951431fe34a999d4074abf84f310e7cc3721d parent 43a5346eeccd509892acdd67251bdefa739026f0 Author: Andrew Laack <andrew@laack.co> Date: Fri, 18 Sep 2026 14:35:03 -0500 Benchmarking Diffstat:
20 files changed, 1367 insertions(+), 0 deletions(-)
diff --git a/assets/abg/benchmarking-python/benchmarking/render_pygame/bench.sh b/assets/abg/benchmarking-python/benchmarking/render_pygame/bench.sh @@ -0,0 +1,4 @@ +while [ 1 ]; do + perf stat python3 prim.py > /dev/null 2>> v_10_000_e_100_000 + sleep 1 +done diff --git a/assets/abg/benchmarking-python/benchmarking/render_pygame/bench_mem.sh b/assets/abg/benchmarking-python/benchmarking/render_pygame/bench_mem.sh @@ -0,0 +1,5 @@ +while [ 1 ]; do + /usr/bin/time -v python3 prim.py 2>&1 | awk -F': ' '/Maximum resident set size/ {printf "%.2f MiB\n", $2/1024}' >> mem + + sleep 1 +done diff --git a/assets/abg/benchmarking-python/benchmarking/render_pygame/cycles.txt b/assets/abg/benchmarking-python/benchmarking/render_pygame/cycles.txt @@ -0,0 +1,9 @@ + 126,891,217,019 cpu-cycles:u # 2.4 GHz cycles_frequency (88.89%) + 122,519,007,680 cpu-cycles:u # 2.3 GHz cycles_frequency (88.89%) + 125,431,980,422 cpu-cycles:u # 2.4 GHz cycles_frequency (88.89%) + 122,035,224,800 cpu-cycles:u # 2.3 GHz cycles_frequency (88.90%) + 126,204,446,169 cpu-cycles:u # 2.4 GHz cycles_frequency (88.88%) + 121,264,063,115 cpu-cycles:u # 2.3 GHz cycles_frequency (88.89%) + 121,464,911,475 cpu-cycles:u # 2.3 GHz cycles_frequency (88.89%) + 124,257,126,047 cpu-cycles:u # 2.3 GHz cycles_frequency (88.89%) + 121,737,348,198 cpu-cycles:u # 2.3 GHz cycles_frequency (88.89%) diff --git a/assets/abg/benchmarking-python/benchmarking/render_pygame/elapsed.txt b/assets/abg/benchmarking-python/benchmarking/render_pygame/elapsed.txt @@ -0,0 +1,9 @@ + 52.566354613 seconds time elapsed + 52.742388079 seconds time elapsed + 52.476154325 seconds time elapsed + 53.338312508 seconds time elapsed + 52.652555742 seconds time elapsed + 52.838898432 seconds time elapsed + 52.584449312 seconds time elapsed + 52.643667393 seconds time elapsed + 52.603051643 seconds time elapsed diff --git a/assets/abg/benchmarking-python/benchmarking/render_pygame/mem b/assets/abg/benchmarking-python/benchmarking/render_pygame/mem @@ -0,0 +1,8 @@ +202.06 MiB +201.70 MiB +201.93 MiB +202.02 MiB +201.72 MiB +202.11 MiB +201.86 MiB +201.79 MiB diff --git a/assets/abg/benchmarking-python/benchmarking/render_pygame/prim.py b/assets/abg/benchmarking-python/benchmarking/render_pygame/prim.py @@ -0,0 +1,128 @@ +import pygame +import heapq +import random +import math + +pygame.init() + +display = pygame.display.set_mode((5120,1440)) + +VERTICES = 10000 +EDGES = 100000 + +white = (255, 255, 255) +red = (255, 0, 0) +black = (0, 0, 0) +grey = (100,100,100) +light_grey = (50,50,50) + + +class Vertex(): + def __init__(self, x, y): + self.x = x + self.y = y + self.visited = False + def draw_vertex(self,display): + if self.visited: + pygame.draw.circle(display, white, (self.x,self.y), 5) + else: + pygame.draw.circle(display, grey, (self.x,self.y), 5) +class Edge(): + def __init__(self, v1, v2): + self.v1 = v1 + self.v2 = v2 + self.dist = math.sqrt(((v1.x - v2.x) ** 2) + ((v1.y - v2.y) ** 2)) + def draw_edge(self,display, c): + pygame.draw.line(display, c, (self.v1.x,self.v1.y), (self.v2.x,self.v2.y), 1) + + def __lt__(self,otr): + return self.dist < otr.dist + + +graph = {} + +for i in range(0,VERTICES): + x = random.random() * 5120 + y = random.random() * 1440 + graph[Vertex(x,y)] = [] + + +edge_list = [] +keys = list(graph.keys()) + +for i in range(0,EDGES): + k1 = None + k2 = None + while k1 == k2: + k1 = random.choice(keys) + k2 = random.choice(keys) + + edge = Edge(k1,k2) + graph[k1].append(edge) + graph[k2].append(edge) + edge_list.append(edge) + + +edge_heap = [] +visited_vertices = set() + + +start = random.choice(keys) +start.visited = True +visited_vertices.add(start) +for edge in graph[start]: + heapq.heappush(edge_heap, edge) + + +first = True + +to_draw_vert = [] +to_draw_edge = [] + +while True: + for event in pygame.event.get(): + if event.type == pygame.QUIT: + pygame.quit() + quit() + + if first: + display.fill(black) + + for edge in edge_list: + edge.draw_edge(display, light_grey) + first = False + + for vertex in graph: + vertex.draw_vertex(display) + + for edge in to_draw_edge: + edge.draw_edge(display, white) + for vert in to_draw_vert: + vert.draw_vertex(display) + + to_draw_vert = [] + to_draw_edge = [] + + + item = None + while edge_heap: + candidate = heapq.heappop(edge_heap) + if (candidate.v1 in visited_vertices) != (candidate.v2 in visited_vertices): + item = candidate + break + + if item is None: + break + + new_vertex = item.v2 if item.v1 in visited_vertices else item.v1 + visited_vertices.add(new_vertex) + new_vertex.visited = True + + to_draw_vert.append(new_vertex) + to_draw_edge.append(item) + + for edge in graph[new_vertex]: + if not edge.v1 in visited_vertices or not edge.v2 in visited_vertices: + heapq.heappush(edge_heap, edge) + + pygame.display.update() diff --git a/assets/abg/benchmarking-python/benchmarking/render_pygame/v_10_000_e_100_000 b/assets/abg/benchmarking-python/benchmarking/render_pygame/v_10_000_e_100_000 @@ -0,0 +1,205 @@ +<frozen importlib._bootstrap>:491: RuntimeWarning: Your system is avx2 capable but pygame was not built with support for it. The performance of some of your blits could be adversely affected. Consider enabling compile time detection with environment variables like PYGAME_DETECT_AVX2=1 if you are compiling without cross compilation. + + Performance counter stats for 'python3 prim.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 14,364 page-faults:u # 272.8 faults/sec page_faults_per_second + 52,653.14 msec task-clock:u # nan CPUs CPUs_utilized + 19,588,949 branch-misses:u # 0.5 % branch_miss_rate (88.89%) + 4,284,430,883 branches:u # 81.4 M/sec branch_frequency (88.89%) + 126,891,217,019 cpu-cycles:u # 2.4 GHz cycles_frequency (88.89%) + 18,685,729,139 instructions:u # 0.1 instructions insn_per_cycle (88.89%) + TopdownL1 # 0.1 % tma_backend_bound + # 98.1 % tma_bad_speculation (88.89%) + # 1.0 % tma_frontend_bound (77.80%) + # 0.9 % tma_retiring (88.90%) + + 52.566354613 seconds time elapsed + + 49.445681000 seconds user + 1.141947000 seconds sys + + +<frozen importlib._bootstrap>:491: RuntimeWarning: Your system is avx2 capable but pygame was not built with support for it. The performance of some of your blits could be adversely affected. Consider enabling compile time detection with environment variables like PYGAME_DETECT_AVX2=1 if you are compiling without cross compilation. + + Performance counter stats for 'python3 prim.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 14,368 page-faults:u # 270.2 faults/sec page_faults_per_second + 53,176.88 msec task-clock:u # nan CPUs CPUs_utilized + 18,213,793 branch-misses:u # 0.4 % branch_miss_rate (88.89%) + 4,271,637,994 branches:u # 80.3 M/sec branch_frequency (88.89%) + 122,519,007,680 cpu-cycles:u # 2.3 GHz cycles_frequency (88.89%) + 18,603,673,781 instructions:u # 0.2 instructions insn_per_cycle (88.89%) + TopdownL1 # 0.1 % tma_backend_bound + # 98.1 % tma_bad_speculation (88.88%) + # 1.0 % tma_frontend_bound (77.78%) + # 0.9 % tma_retiring (88.89%) + + 52.742388079 seconds time elapsed + + 50.544336000 seconds user + 0.868263000 seconds sys + + +<frozen importlib._bootstrap>:491: RuntimeWarning: Your system is avx2 capable but pygame was not built with support for it. The performance of some of your blits could be adversely affected. Consider enabling compile time detection with environment variables like PYGAME_DETECT_AVX2=1 if you are compiling without cross compilation. + + Performance counter stats for 'python3 prim.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 14,882 page-faults:u # 282.1 faults/sec page_faults_per_second + 52,756.45 msec task-clock:u # nan CPUs CPUs_utilized + 19,400,125 branch-misses:u # 0.5 % branch_miss_rate (88.89%) + 4,272,245,700 branches:u # 81.0 M/sec branch_frequency (88.88%) + 125,431,980,422 cpu-cycles:u # 2.4 GHz cycles_frequency (88.89%) + 18,624,559,890 instructions:u # 0.1 instructions insn_per_cycle (88.90%) + TopdownL1 # 0.1 % tma_backend_bound + # 98.1 % tma_bad_speculation (88.89%) + # 0.9 % tma_frontend_bound (77.76%) + # 0.9 % tma_retiring (88.88%) + + 52.476154325 seconds time elapsed + + 49.633014000 seconds user + 1.128426000 seconds sys + + +<frozen importlib._bootstrap>:491: RuntimeWarning: Your system is avx2 capable but pygame was not built with support for it. The performance of some of your blits could be adversely affected. Consider enabling compile time detection with environment variables like PYGAME_DETECT_AVX2=1 if you are compiling without cross compilation. + + Performance counter stats for 'python3 prim.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 14,358 page-faults:u # 266.9 faults/sec page_faults_per_second + 53,788.12 msec task-clock:u # nan CPUs CPUs_utilized + 18,605,047 branch-misses:u # 0.4 % branch_miss_rate (88.89%) + 4,281,034,884 branches:u # 79.6 M/sec branch_frequency (88.89%) + 122,035,224,800 cpu-cycles:u # 2.3 GHz cycles_frequency (88.90%) + 18,654,027,285 instructions:u # 0.2 instructions insn_per_cycle (88.89%) + TopdownL1 # 0.1 % tma_backend_bound + # 98.2 % tma_bad_speculation (88.88%) + # 0.9 % tma_frontend_bound (77.78%) + # 0.9 % tma_retiring (88.89%) + + 53.338312508 seconds time elapsed + + 50.976829000 seconds user + 0.992182000 seconds sys + + +<frozen importlib._bootstrap>:491: RuntimeWarning: Your system is avx2 capable but pygame was not built with support for it. The performance of some of your blits could be adversely affected. Consider enabling compile time detection with environment variables like PYGAME_DETECT_AVX2=1 if you are compiling without cross compilation. + + Performance counter stats for 'python3 prim.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 14,361 page-faults:u # 272.5 faults/sec page_faults_per_second + 52,705.24 msec task-clock:u # nan CPUs CPUs_utilized + 19,320,333 branch-misses:u # 0.5 % branch_miss_rate (88.91%) + 4,278,967,408 branches:u # 81.2 M/sec branch_frequency (88.88%) + 126,204,446,169 cpu-cycles:u # 2.4 GHz cycles_frequency (88.88%) + 18,650,560,382 instructions:u # 0.1 instructions insn_per_cycle (88.88%) + TopdownL1 # 0.1 % tma_backend_bound + # 98.2 % tma_bad_speculation (88.88%) + # 0.8 % tma_frontend_bound (77.79%) + # 0.8 % tma_retiring (88.91%) + + 52.652555742 seconds time elapsed + + 49.374560000 seconds user + 1.266451000 seconds sys + + +<frozen importlib._bootstrap>:491: RuntimeWarning: Your system is avx2 capable but pygame was not built with support for it. The performance of some of your blits could be adversely affected. Consider enabling compile time detection with environment variables like PYGAME_DETECT_AVX2=1 if you are compiling without cross compilation. + + Performance counter stats for 'python3 prim.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 14,377 page-faults:u # 269.8 faults/sec page_faults_per_second + 53,283.00 msec task-clock:u # nan CPUs CPUs_utilized + 18,561,182 branch-misses:u # 0.4 % branch_miss_rate (88.90%) + 4,292,880,377 branches:u # 80.6 M/sec branch_frequency (88.89%) + 121,264,063,115 cpu-cycles:u # 2.3 GHz cycles_frequency (88.89%) + 18,684,326,704 instructions:u # 0.2 instructions insn_per_cycle (88.89%) + TopdownL1 # 0.1 % tma_backend_bound + # 98.0 % tma_bad_speculation (88.88%) + # 1.0 % tma_frontend_bound (77.77%) + # 0.9 % tma_retiring (88.90%) + + 52.838898432 seconds time elapsed + + 50.605967000 seconds user + 0.922226000 seconds sys + + +<frozen importlib._bootstrap>:491: RuntimeWarning: Your system is avx2 capable but pygame was not built with support for it. The performance of some of your blits could be adversely affected. Consider enabling compile time detection with environment variables like PYGAME_DETECT_AVX2=1 if you are compiling without cross compilation. + + Performance counter stats for 'python3 prim.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 14,831 page-faults:u # 279.6 faults/sec page_faults_per_second + 53,034.44 msec task-clock:u # nan CPUs CPUs_utilized + 18,394,092 branch-misses:u # 0.4 % branch_miss_rate (88.89%) + 4,266,875,293 branches:u # 80.5 M/sec branch_frequency (88.89%) + 121,464,911,475 cpu-cycles:u # 2.3 GHz cycles_frequency (88.89%) + 18,628,278,596 instructions:u # 0.2 instructions insn_per_cycle (88.89%) + TopdownL1 # 0.1 % tma_backend_bound + # 98.2 % tma_bad_speculation (88.89%) + # 0.8 % tma_frontend_bound (77.78%) + # 0.9 % tma_retiring (88.89%) + + 52.584449312 seconds time elapsed + + 50.485129000 seconds user + 0.834469000 seconds sys + + +<frozen importlib._bootstrap>:491: RuntimeWarning: Your system is avx2 capable but pygame was not built with support for it. The performance of some of your blits could be adversely affected. Consider enabling compile time detection with environment variables like PYGAME_DETECT_AVX2=1 if you are compiling without cross compilation. + + Performance counter stats for 'python3 prim.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 14,352 page-faults:u # 270.5 faults/sec page_faults_per_second + 53,053.96 msec task-clock:u # nan CPUs CPUs_utilized + 18,462,540 branch-misses:u # 0.4 % branch_miss_rate (88.89%) + 4,293,549,788 branches:u # 80.9 M/sec branch_frequency (88.89%) + 124,257,126,047 cpu-cycles:u # 2.3 GHz cycles_frequency (88.89%) + 18,702,120,072 instructions:u # 0.2 instructions insn_per_cycle (88.89%) + TopdownL1 # 0.1 % tma_backend_bound + # 98.1 % tma_bad_speculation (88.88%) + # 1.0 % tma_frontend_bound (77.78%) + # 0.8 % tma_retiring (88.89%) + + 52.643667393 seconds time elapsed + + 50.339187000 seconds user + 0.975258000 seconds sys + + +<frozen importlib._bootstrap>:491: RuntimeWarning: Your system is avx2 capable but pygame was not built with support for it. The performance of some of your blits could be adversely affected. Consider enabling compile time detection with environment variables like PYGAME_DETECT_AVX2=1 if you are compiling without cross compilation. + + Performance counter stats for 'python3 prim.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 14,364 page-faults:u # 270.8 faults/sec page_faults_per_second + 53,043.29 msec task-clock:u # nan CPUs CPUs_utilized + 18,489,265 branch-misses:u # 0.4 % branch_miss_rate (88.89%) + 4,279,584,891 branches:u # 80.7 M/sec branch_frequency (88.89%) + 121,737,348,198 cpu-cycles:u # 2.3 GHz cycles_frequency (88.89%) + 18,670,682,382 instructions:u # 0.2 instructions insn_per_cycle (88.89%) + TopdownL1 # 0.1 % tma_backend_bound + # 98.0 % tma_bad_speculation (88.89%) + # 1.0 % tma_frontend_bound (77.79%) + # 0.9 % tma_retiring (88.89%) + + 52.603051643 seconds time elapsed + + 50.367930000 seconds user + 0.911621000 seconds sys diff --git a/assets/abg/benchmarking-python/benchmarking/render_rlib/bench.sh b/assets/abg/benchmarking-python/benchmarking/render_rlib/bench.sh @@ -0,0 +1,4 @@ +while [ 1 ]; do + perf stat python3 prim-rlib.py > /dev/null 2>> v_10_000_e_100_000 + sleep 1 +done diff --git a/assets/abg/benchmarking-python/benchmarking/render_rlib/bench_mem.sh b/assets/abg/benchmarking-python/benchmarking/render_rlib/bench_mem.sh @@ -0,0 +1,4 @@ +while [ 1 ]; do + /usr/bin/time -v python3 prim-rlib.py 2>&1 | awk -F': ' '/Maximum resident set size/ {printf "%.2f MiB\n", $2/1024}' >> mem + sleep 1 +done diff --git a/assets/abg/benchmarking-python/benchmarking/render_rlib/cycles.txt b/assets/abg/benchmarking-python/benchmarking/render_rlib/cycles.txt @@ -0,0 +1,19 @@ + 7,760,139,409 cpu-cycles:u # 1.2 GHz cycles_frequency (88.73%) + 7,981,000,646 cpu-cycles:u # 1.2 GHz cycles_frequency (89.01%) + 8,003,847,199 cpu-cycles:u # 1.2 GHz cycles_frequency (88.76%) + 7,915,794,137 cpu-cycles:u # 1.2 GHz cycles_frequency (88.69%) + 7,917,778,897 cpu-cycles:u # 1.2 GHz cycles_frequency (88.92%) + 7,892,902,558 cpu-cycles:u # 1.2 GHz cycles_frequency (89.50%) + 7,908,685,266 cpu-cycles:u # 1.2 GHz cycles_frequency (88.82%) + 7,967,082,511 cpu-cycles:u # 1.2 GHz cycles_frequency (88.96%) + 7,802,141,832 cpu-cycles:u # 1.2 GHz cycles_frequency (88.72%) + 7,804,197,524 cpu-cycles:u # 1.2 GHz cycles_frequency (88.94%) + 7,996,164,436 cpu-cycles:u # 1.2 GHz cycles_frequency (88.99%) + 7,907,262,609 cpu-cycles:u # 1.2 GHz cycles_frequency (88.97%) + 7,943,093,071 cpu-cycles:u # 1.2 GHz cycles_frequency (88.99%) + 7,980,237,551 cpu-cycles:u # 1.2 GHz cycles_frequency (88.94%) + 7,645,134,011 cpu-cycles:u # 1.2 GHz cycles_frequency (88.92%) + 7,570,206,571 cpu-cycles:u # 1.2 GHz cycles_frequency (89.21%) + 7,878,971,589 cpu-cycles:u # 1.2 GHz cycles_frequency (88.60%) + 7,839,968,167 cpu-cycles:u # 1.2 GHz cycles_frequency (89.18%) + 8,096,214,960 cpu-cycles:u # 1.2 GHz cycles_frequency (89.09%) diff --git a/assets/abg/benchmarking-python/benchmarking/render_rlib/mem b/assets/abg/benchmarking-python/benchmarking/render_rlib/mem @@ -0,0 +1,38 @@ +160.26 MiB +160.17 MiB +160.35 MiB +160.96 MiB +160.49 MiB +161.21 MiB +160.54 MiB +160.52 MiB +160.80 MiB +160.30 MiB +160.37 MiB +160.26 MiB +160.13 MiB +160.13 MiB +160.23 MiB +160.16 MiB +159.98 MiB +160.11 MiB +160.42 MiB +160.04 MiB +159.92 MiB +159.93 MiB +160.12 MiB +160.24 MiB +160.34 MiB +160.21 MiB +160.03 MiB +160.29 MiB +160.48 MiB +160.28 MiB +160.17 MiB +160.23 MiB +160.35 MiB +160.32 MiB +160.32 MiB +160.01 MiB +160.12 MiB +160.07 MiB diff --git a/assets/abg/benchmarking-python/benchmarking/render_rlib/prim-rlib.py b/assets/abg/benchmarking-python/benchmarking/render_rlib/prim-rlib.py @@ -0,0 +1,130 @@ +import pyray as pr +import heapq +import random +import math + +VERTICES = 10000 +EDGES = 100000 +RADIUS = 5 + +pr.init_window(5120,1440, "prim") + +class Vertex(): + def __init__(self, x, y): + self.x = x + self.y = y + self.visited = False + def draw_vertex(self): + if self.visited: + pr.draw_circle(int(self.x),int(self.y), RADIUS, pr.WHITE) + else: + pr.draw_circle(int(self.x),int(self.y), RADIUS, pr.GRAY) +class Edge(): + def __init__(self, v1, v2): + self.v1 = v1 + self.v2 = v2 + self.dist = math.sqrt(((v1.x - v2.x) ** 2) + ((v1.y - v2.y) ** 2)) + def draw_edge(self, c): + pr.draw_line(int(self.v1.x), int(self.v1.y), int(self.v2.x), int(self.v2.y), c) + + def __lt__(self,otr): + return self.dist < otr.dist + + +graph = {} + +for i in range(0,VERTICES): + x = random.random() * 5120 + y = random.random() * 1440 + graph[Vertex(x,y)] = [] + + +edge_list = [] +keys = list(graph.keys()) + +for i in range(0,EDGES): + k1 = None + k2 = None + while k1 == k2: + k1 = random.choice(keys) + k2 = random.choice(keys) + + edge = Edge(k1,k2) + graph[k1].append(edge) + graph[k2].append(edge) + edge_list.append(edge) + + +edge_heap = [] +visited_vertices = set() + + +start = random.choice(keys) +start.visited = True +visited_vertices.add(start) +for edge in graph[start]: + heapq.heappush(edge_heap, edge) + + +first = True + +to_draw_vert = [] +to_draw_edge = [] + +texture = pr.load_render_texture(5120,1440) + +while True: + + pr.begin_texture_mode(texture) + + if first: + pr.clear_background(pr.BLACK) + + for edge in edge_list: + edge.draw_edge(pr.DARKGRAY) + first = False + + for vertex in graph: + vertex.draw_vertex() + + for edge in to_draw_edge: + edge.draw_edge(pr.WHITE) + for vert in to_draw_vert: + vert.draw_vertex() + + to_draw_vert = [] + to_draw_edge = [] + + + item = None + while edge_heap: + candidate = heapq.heappop(edge_heap) + if (candidate.v1 in visited_vertices) != (candidate.v2 in visited_vertices): + item = candidate + break + + if item is None: + break + + new_vertex = item.v2 if item.v1 in visited_vertices else item.v1 + visited_vertices.add(new_vertex) + new_vertex.visited = True + + to_draw_vert.append(new_vertex) + to_draw_edge.append(item) + + for edge in graph[new_vertex]: + if not edge.v1 in visited_vertices or not edge.v2 in visited_vertices: + heapq.heappush(edge_heap, edge) + + pr.end_texture_mode() + + source_rec = pr.Rectangle(0, 0, 5120, 1440) + dest_rec = pr.Rectangle(0, 0, 5120,1440) + + pr.begin_drawing() + pr.draw_texture_pro(texture.texture, source_rec, dest_rec, pr.Vector2(0, 0), 0, pr.WHITE) + pr.end_drawing() + +pr.unload_render_texture(texture) +pr.close_window() diff --git a/assets/abg/benchmarking-python/benchmarking/render_rlib/time.txt b/assets/abg/benchmarking-python/benchmarking/render_rlib/time.txt @@ -0,0 +1,19 @@ + 23.985283883 seconds time elapsed + 23.986389971 seconds time elapsed + 24.050697848 seconds time elapsed + 24.274788683 seconds time elapsed + 24.364813344 seconds time elapsed + 24.406500486 seconds time elapsed + 24.291002851 seconds time elapsed + 24.472258585 seconds time elapsed + 24.473208128 seconds time elapsed + 24.419460358 seconds time elapsed + 24.431399210 seconds time elapsed + 24.459102289 seconds time elapsed + 24.381094036 seconds time elapsed + 24.387468410 seconds time elapsed + 24.373841995 seconds time elapsed + 24.402321381 seconds time elapsed + 24.500973991 seconds time elapsed + 24.435688921 seconds time elapsed + 24.503772713 seconds time elapsed diff --git a/assets/abg/benchmarking-python/benchmarking/render_rlib/v_10_000_e_100_000 b/assets/abg/benchmarking-python/benchmarking/render_rlib/v_10_000_e_100_000 @@ -0,0 +1,435 @@ +RAYLIB STATIC 6.0.1.0 LOADED + + Performance counter stats for 'python3 prim-rlib.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 13,085 page-faults:u # 2088.7 faults/sec page_faults_per_second + 6,264.53 msec task-clock:u # nan CPUs CPUs_utilized + 36,909,786 branch-misses:u # 2.3 % branch_miss_rate (88.85%) + 1,581,729,313 branches:u # 252.5 M/sec branch_frequency (89.11%) + 7,760,139,409 cpu-cycles:u # 1.2 GHz cycles_frequency (88.73%) + 8,744,327,730 instructions:u # 1.1 instructions insn_per_cycle (88.97%) + TopdownL1 # 1.6 % tma_backend_bound + # 91.3 % tma_bad_speculation (89.04%) + # 3.6 % tma_frontend_bound (77.64%) + # 3.5 % tma_retiring (88.76%) + + 23.985283883 seconds time elapsed + + 4.814923000 seconds user + 1.226198000 seconds sys + + +RAYLIB STATIC 6.0.1.0 LOADED + + Performance counter stats for 'python3 prim-rlib.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 13,089 page-faults:u # 2017.9 faults/sec page_faults_per_second + 6,486.29 msec task-clock:u # nan CPUs CPUs_utilized + 40,918,188 branch-misses:u # 2.6 % branch_miss_rate (88.90%) + 1,573,544,950 branches:u # 242.6 M/sec branch_frequency (88.63%) + 7,981,000,646 cpu-cycles:u # 1.2 GHz cycles_frequency (89.01%) + 8,735,695,331 instructions:u # 1.1 instructions insn_per_cycle (88.94%) + TopdownL1 # 1.6 % tma_backend_bound + # 91.5 % tma_bad_speculation (89.07%) + # 3.5 % tma_frontend_bound (77.77%) + # 3.4 % tma_retiring (89.21%) + + 23.986389971 seconds time elapsed + + 4.729719000 seconds user + 1.630780000 seconds sys + + +RAYLIB STATIC 6.0.1.0 LOADED + + Performance counter stats for 'python3 prim-rlib.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 13,095 page-faults:u # 2024.2 faults/sec page_faults_per_second + 6,469.26 msec task-clock:u # nan CPUs CPUs_utilized + 40,976,031 branch-misses:u # 2.6 % branch_miss_rate (88.83%) + 1,577,151,588 branches:u # 243.8 M/sec branch_frequency (88.79%) + 8,003,847,199 cpu-cycles:u # 1.2 GHz cycles_frequency (88.76%) + 8,726,134,626 instructions:u # 1.1 instructions insn_per_cycle (88.94%) + TopdownL1 # 1.1 % tma_backend_bound + # 91.6 % tma_bad_speculation (88.99%) + # 4.1 % tma_frontend_bound (77.96%) + # 3.2 % tma_retiring (89.03%) + + 24.050697848 seconds time elapsed + + 4.696218000 seconds user + 1.638360000 seconds sys + + +RAYLIB STATIC 6.0.1.0 LOADED + + Performance counter stats for 'python3 prim-rlib.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 13,100 page-faults:u # 2040.6 faults/sec page_faults_per_second + 6,419.56 msec task-clock:u # nan CPUs CPUs_utilized + 39,376,236 branch-misses:u # 2.5 % branch_miss_rate (88.93%) + 1,587,195,195 branches:u # 247.2 M/sec branch_frequency (88.79%) + 7,915,794,137 cpu-cycles:u # 1.2 GHz cycles_frequency (88.69%) + 8,750,841,183 instructions:u # 1.1 instructions insn_per_cycle (88.97%) + TopdownL1 # 1.5 % tma_backend_bound + # 91.3 % tma_bad_speculation (89.15%) + # 4.0 % tma_frontend_bound (77.66%) + # 3.2 % tma_retiring (88.93%) + + 24.274788683 seconds time elapsed + + 4.588309000 seconds user + 1.663099000 seconds sys + + +RAYLIB STATIC 6.0.1.0 LOADED + + Performance counter stats for 'python3 prim-rlib.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 13,098 page-faults:u # 2052.5 faults/sec page_faults_per_second + 6,381.58 msec task-clock:u # nan CPUs CPUs_utilized + 38,306,368 branch-misses:u # 2.4 % branch_miss_rate (89.02%) + 1,581,812,719 branches:u # 247.9 M/sec branch_frequency (88.86%) + 7,917,778,897 cpu-cycles:u # 1.2 GHz cycles_frequency (88.92%) + 8,761,635,790 instructions:u # 1.1 instructions insn_per_cycle (89.12%) + TopdownL1 # 1.6 % tma_backend_bound + # 91.3 % tma_bad_speculation (88.74%) + # 3.6 % tma_frontend_bound (77.92%) + # 3.5 % tma_retiring (89.00%) + + 24.364813344 seconds time elapsed + + 4.507118000 seconds user + 1.694104000 seconds sys + + +RAYLIB STATIC 6.0.1.0 LOADED + + Performance counter stats for 'python3 prim-rlib.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 13,109 page-faults:u # 2034.2 faults/sec page_faults_per_second + 6,444.29 msec task-clock:u # nan CPUs CPUs_utilized + 40,194,222 branch-misses:u # 2.5 % branch_miss_rate (88.46%) + 1,584,872,360 branches:u # 245.9 M/sec branch_frequency (88.27%) + 7,892,902,558 cpu-cycles:u # 1.2 GHz cycles_frequency (89.50%) + 8,765,482,705 instructions:u # 1.1 instructions insn_per_cycle (89.13%) + TopdownL1 # 1.4 % tma_backend_bound + # 91.8 % tma_bad_speculation (89.24%) + # 3.3 % tma_frontend_bound (78.29%) + # 3.4 % tma_retiring (89.16%) + + 24.406500486 seconds time elapsed + + 4.425961000 seconds user + 1.883015000 seconds sys + + +RAYLIB STATIC 6.0.1.0 LOADED + + Performance counter stats for 'python3 prim-rlib.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 13,103 page-faults:u # 2009.5 faults/sec page_faults_per_second + 6,520.52 msec task-clock:u # nan CPUs CPUs_utilized + 44,526,475 branch-misses:u # 2.8 % branch_miss_rate (88.86%) + 1,568,904,712 branches:u # 240.6 M/sec branch_frequency (89.21%) + 7,908,685,266 cpu-cycles:u # 1.2 GHz cycles_frequency (88.82%) + 8,766,540,550 instructions:u # 1.1 instructions insn_per_cycle (88.86%) + TopdownL1 # 1.4 % tma_backend_bound + # 91.1 % tma_bad_speculation (88.64%) + # 4.2 % tma_frontend_bound (77.94%) + # 3.3 % tma_retiring (88.91%) + + 24.291002851 seconds time elapsed + + 4.760239000 seconds user + 1.627792000 seconds sys + + +RAYLIB STATIC 6.0.1.0 LOADED + + Performance counter stats for 'python3 prim-rlib.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 13,107 page-faults:u # 1987.8 faults/sec page_faults_per_second + 6,593.63 msec task-clock:u # nan CPUs CPUs_utilized + 43,761,293 branch-misses:u # 2.8 % branch_miss_rate (88.74%) + 1,576,257,317 branches:u # 239.1 M/sec branch_frequency (89.04%) + 7,967,082,511 cpu-cycles:u # 1.2 GHz cycles_frequency (88.96%) + 8,738,587,063 instructions:u # 1.1 instructions insn_per_cycle (89.11%) + TopdownL1 # 1.6 % tma_backend_bound + # 91.4 % tma_bad_speculation (88.78%) + # 3.7 % tma_frontend_bound (78.03%) + # 3.3 % tma_retiring (88.92%) + + 24.472258585 seconds time elapsed + + 4.538608000 seconds user + 1.946294000 seconds sys + + +RAYLIB STATIC 6.0.1.0 LOADED + + Performance counter stats for 'python3 prim-rlib.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 13,113 page-faults:u # 2058.9 faults/sec page_faults_per_second + 6,369.04 msec task-clock:u # nan CPUs CPUs_utilized + 38,562,329 branch-misses:u # 2.4 % branch_miss_rate (88.72%) + 1,577,288,379 branches:u # 247.6 M/sec branch_frequency (88.97%) + 7,802,141,832 cpu-cycles:u # 1.2 GHz cycles_frequency (88.72%) + 8,709,562,060 instructions:u # 1.1 instructions insn_per_cycle (89.23%) + TopdownL1 # 1.3 % tma_backend_bound + # 91.4 % tma_bad_speculation (88.66%) + # 3.8 % tma_frontend_bound (77.97%) + # 3.4 % tma_retiring (88.82%) + + 24.473208128 seconds time elapsed + + 4.523686000 seconds user + 1.646151000 seconds sys + + +RAYLIB STATIC 6.0.1.0 LOADED + + Performance counter stats for 'python3 prim-rlib.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 13,111 page-faults:u # 2063.2 faults/sec page_faults_per_second + 6,354.68 msec task-clock:u # nan CPUs CPUs_utilized + 39,613,278 branch-misses:u # 2.5 % branch_miss_rate (89.29%) + 1,577,453,577 branches:u # 248.2 M/sec branch_frequency (88.36%) + 7,804,197,524 cpu-cycles:u # 1.2 GHz cycles_frequency (88.94%) + 8,753,642,281 instructions:u # 1.1 instructions insn_per_cycle (88.83%) + TopdownL1 # 1.2 % tma_backend_bound + # 92.4 % tma_bad_speculation (88.64%) + # 3.4 % tma_frontend_bound (77.95%) + # 3.0 % tma_retiring (88.96%) + + 24.419460358 seconds time elapsed + + 4.531579000 seconds user + 1.634621000 seconds sys + + +RAYLIB STATIC 6.0.1.0 LOADED + + Performance counter stats for 'python3 prim-rlib.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 13,094 page-faults:u # 1991.0 faults/sec page_faults_per_second + 6,576.55 msec task-clock:u # nan CPUs CPUs_utilized + 42,816,156 branch-misses:u # 2.7 % branch_miss_rate (88.79%) + 1,582,321,740 branches:u # 240.6 M/sec branch_frequency (89.14%) + 7,996,164,436 cpu-cycles:u # 1.2 GHz cycles_frequency (88.99%) + 8,728,296,166 instructions:u # 1.1 instructions insn_per_cycle (88.87%) + TopdownL1 # 1.8 % tma_backend_bound + # 91.2 % tma_bad_speculation (89.18%) + # 3.5 % tma_frontend_bound (77.96%) + # 3.4 % tma_retiring (89.14%) + + 24.431399210 seconds time elapsed + + 4.611695000 seconds user + 1.853560000 seconds sys + + +RAYLIB STATIC 6.0.1.0 LOADED + + Performance counter stats for 'python3 prim-rlib.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 13,097 page-faults:u # 1975.0 faults/sec page_faults_per_second + 6,631.43 msec task-clock:u # nan CPUs CPUs_utilized + 44,232,305 branch-misses:u # 2.8 % branch_miss_rate (89.00%) + 1,578,259,187 branches:u # 238.0 M/sec branch_frequency (88.70%) + 7,907,262,609 cpu-cycles:u # 1.2 GHz cycles_frequency (88.97%) + 8,772,617,522 instructions:u # 1.1 instructions insn_per_cycle (88.95%) + TopdownL1 # 1.4 % tma_backend_bound + # 91.3 % tma_bad_speculation (89.02%) + # 3.7 % tma_frontend_bound (77.92%) + # 3.5 % tma_retiring (89.21%) + + 24.459102289 seconds time elapsed + + 4.705972000 seconds user + 1.812806000 seconds sys + + +RAYLIB STATIC 6.0.1.0 LOADED + + Performance counter stats for 'python3 prim-rlib.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 13,094 page-faults:u # 1990.1 faults/sec page_faults_per_second + 6,579.48 msec task-clock:u # nan CPUs CPUs_utilized + 44,297,547 branch-misses:u # 2.8 % branch_miss_rate (88.98%) + 1,584,595,814 branches:u # 240.8 M/sec branch_frequency (88.39%) + 7,943,093,071 cpu-cycles:u # 1.2 GHz cycles_frequency (88.99%) + 8,751,932,023 instructions:u # 1.1 instructions insn_per_cycle (89.00%) + TopdownL1 # 1.9 % tma_backend_bound + # 90.8 % tma_bad_speculation (88.94%) + # 3.8 % tma_frontend_bound (77.73%) + # 3.6 % tma_retiring (88.69%) + + 24.381094036 seconds time elapsed + + 4.800986000 seconds user + 1.648955000 seconds sys + + +RAYLIB STATIC 6.0.1.0 LOADED + + Performance counter stats for 'python3 prim-rlib.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 13,094 page-faults:u # 1994.0 faults/sec page_faults_per_second + 6,566.85 msec task-clock:u # nan CPUs CPUs_utilized + 44,071,821 branch-misses:u # 2.8 % branch_miss_rate (89.13%) + 1,594,641,490 branches:u # 242.8 M/sec branch_frequency (88.63%) + 7,980,237,551 cpu-cycles:u # 1.2 GHz cycles_frequency (88.94%) + 8,768,828,939 instructions:u # 1.1 instructions insn_per_cycle (89.04%) + TopdownL1 # 1.5 % tma_backend_bound + # 91.8 % tma_bad_speculation (88.58%) + # 3.3 % tma_frontend_bound (78.22%) + # 3.4 % tma_retiring (88.91%) + + 24.387468410 seconds time elapsed + + 4.621664000 seconds user + 1.823780000 seconds sys + + +RAYLIB STATIC 6.0.1.0 LOADED + + Performance counter stats for 'python3 prim-rlib.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 13,092 page-faults:u # 2133.2 faults/sec page_faults_per_second + 6,137.21 msec task-clock:u # nan CPUs CPUs_utilized + 36,001,265 branch-misses:u # 2.3 % branch_miss_rate (88.62%) + 1,568,750,566 branches:u # 255.6 M/sec branch_frequency (89.53%) + 7,645,134,011 cpu-cycles:u # 1.2 GHz cycles_frequency (88.92%) + 8,723,241,218 instructions:u # 1.1 instructions insn_per_cycle (88.57%) + TopdownL1 # 1.8 % tma_backend_bound + # 90.4 % tma_bad_speculation (88.44%) + # 4.3 % tma_frontend_bound (77.83%) + # 3.5 % tma_retiring (88.86%) + + 24.373841995 seconds time elapsed + + 4.528535000 seconds user + 1.368580000 seconds sys + + +RAYLIB STATIC 6.0.1.0 LOADED + + Performance counter stats for 'python3 prim-rlib.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 13,089 page-faults:u # 2148.6 faults/sec page_faults_per_second + 6,091.76 msec task-clock:u # nan CPUs CPUs_utilized + 35,804,127 branch-misses:u # 2.3 % branch_miss_rate (88.63%) + 1,582,016,698 branches:u # 259.7 M/sec branch_frequency (88.66%) + 7,570,206,571 cpu-cycles:u # 1.2 GHz cycles_frequency (89.21%) + 8,685,651,729 instructions:u # 1.1 instructions insn_per_cycle (89.08%) + TopdownL1 # 1.2 % tma_backend_bound + # 92.0 % tma_bad_speculation (88.86%) + # 3.3 % tma_frontend_bound (77.87%) + # 3.5 % tma_retiring (88.82%) + + 24.402321381 seconds time elapsed + + 4.388733000 seconds user + 1.467583000 seconds sys + + +RAYLIB STATIC 6.0.1.0 LOADED + + Performance counter stats for 'python3 prim-rlib.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 13,098 page-faults:u # 2022.8 faults/sec page_faults_per_second + 6,475.17 msec task-clock:u # nan CPUs CPUs_utilized + 40,086,400 branch-misses:u # 2.5 % branch_miss_rate (88.94%) + 1,582,145,851 branches:u # 244.3 M/sec branch_frequency (88.98%) + 7,878,971,589 cpu-cycles:u # 1.2 GHz cycles_frequency (88.60%) + 8,773,528,948 instructions:u # 1.1 instructions insn_per_cycle (88.71%) + TopdownL1 # 1.6 % tma_backend_bound + # 91.1 % tma_bad_speculation (89.06%) + # 3.8 % tma_frontend_bound (77.72%) + # 3.4 % tma_retiring (88.55%) + + 24.500973991 seconds time elapsed + + 4.509845000 seconds user + 1.804208000 seconds sys + + +RAYLIB STATIC 6.0.1.0 LOADED + + Performance counter stats for 'python3 prim-rlib.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 13,108 page-faults:u # 2040.3 faults/sec page_faults_per_second + 6,424.49 msec task-clock:u # nan CPUs CPUs_utilized + 41,786,380 branch-misses:u # 2.7 % branch_miss_rate (88.69%) + 1,577,321,772 branches:u # 245.5 M/sec branch_frequency (88.70%) + 7,839,968,167 cpu-cycles:u # 1.2 GHz cycles_frequency (89.18%) + 8,768,147,013 instructions:u # 1.1 instructions insn_per_cycle (88.93%) + TopdownL1 # 1.4 % tma_backend_bound + # 91.5 % tma_bad_speculation (89.08%) + # 3.9 % tma_frontend_bound (77.94%) + # 3.2 % tma_retiring (88.91%) + + 24.435688921 seconds time elapsed + + 4.540798000 seconds user + 1.743128000 seconds sys + + +RAYLIB STATIC 6.0.1.0 LOADED + + Performance counter stats for 'python3 prim-rlib.py': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 13,094 page-faults:u # 1991.8 faults/sec page_faults_per_second + 6,574.02 msec task-clock:u # nan CPUs CPUs_utilized + 41,081,605 branch-misses:u # 2.6 % branch_miss_rate (88.87%) + 1,588,751,881 branches:u # 241.7 M/sec branch_frequency (89.01%) + 8,096,214,960 cpu-cycles:u # 1.2 GHz cycles_frequency (89.09%) + 8,753,926,470 instructions:u # 1.1 instructions insn_per_cycle (89.13%) + TopdownL1 # 1.7 % tma_backend_bound + # 91.1 % tma_bad_speculation (88.41%) + # 3.8 % tma_frontend_bound (78.13%) + # 3.4 % tma_retiring (88.83%) + + 24.503772713 seconds time elapsed + + 4.587330000 seconds user + 1.858853000 seconds sys diff --git a/assets/abg/benchmarking/bench_final.sh b/assets/abg/benchmarking/bench_final.sh @@ -0,0 +1,4 @@ +while [ 1 ]; do + perf stat abg -s 0 --edges 100000 --vertices 10000 > /dev/null 2>> final_render/out.txt + sleep 1 +done diff --git a/assets/abg/benchmarking/bench_final_mem.sh b/assets/abg/benchmarking/bench_final_mem.sh @@ -0,0 +1,5 @@ +while [ 1 ]; do + /usr/bin/time -v abg -s 0 --edges 100000 --vertices 10000 2>&1 | awk -F': ' '/Maximum resident set size/ {printf "%.2f MiB\n", $2/1024}' >> final_render_mem/out.txt + + sleep 1 +done diff --git a/assets/abg/benchmarking/final_render/cpu.txt b/assets/abg/benchmarking/final_render/cpu.txt @@ -0,0 +1,14 @@ + 3,774,653,633 cpu-cycles:u # 0.9 GHz cycles_frequency (88.49%) + 3,566,809,189 cpu-cycles:u # 0.9 GHz cycles_frequency (88.73%) + 3,871,637,368 cpu-cycles:u # 0.9 GHz cycles_frequency (89.69%) + 3,662,490,281 cpu-cycles:u # 0.9 GHz cycles_frequency (88.96%) + 3,715,861,939 cpu-cycles:u # 0.9 GHz cycles_frequency (89.09%) + 3,651,031,348 cpu-cycles:u # 0.9 GHz cycles_frequency (88.35%) + 3,859,110,223 cpu-cycles:u # 0.9 GHz cycles_frequency (88.53%) + 3,811,706,830 cpu-cycles:u # 0.9 GHz cycles_frequency (88.50%) + 3,950,316,890 cpu-cycles:u # 0.9 GHz cycles_frequency (89.01%) + 3,842,906,254 cpu-cycles:u # 0.9 GHz cycles_frequency (88.92%) + 3,764,044,040 cpu-cycles:u # 0.9 GHz cycles_frequency (89.20%) + 3,920,883,681 cpu-cycles:u # 0.9 GHz cycles_frequency (89.16%) + 3,908,843,958 cpu-cycles:u # 0.8 GHz cycles_frequency (88.81%) + 3,854,257,320 cpu-cycles:u # 0.9 GHz cycles_frequency (88.60%) diff --git a/assets/abg/benchmarking/final_render/elapsed.txt b/assets/abg/benchmarking/final_render/elapsed.txt @@ -0,0 +1,14 @@ + 23.505754034 seconds time elapsed + 23.581834697 seconds time elapsed + 23.862426257 seconds time elapsed + 23.836081318 seconds time elapsed + 23.915389688 seconds time elapsed + 23.835811441 seconds time elapsed + 23.944475725 seconds time elapsed + 23.941191476 seconds time elapsed + 23.987646720 seconds time elapsed + 23.938360684 seconds time elapsed + 23.904237278 seconds time elapsed + 23.958921725 seconds time elapsed + 23.959821513 seconds time elapsed + 23.866453030 seconds time elapsed diff --git a/assets/abg/benchmarking/final_render/out.txt b/assets/abg/benchmarking/final_render/out.txt @@ -0,0 +1,306 @@ + + Performance counter stats for 'abg -s 0 --edges 100000 --vertices 10000': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 8,936 page-faults:u # 2114.4 faults/sec page_faults_per_second + 4,226.29 msec task-clock:u # nan CPUs CPUs_utilized + 23,222,130 branch-misses:u # 4.9 % branch_miss_rate (89.17%) + 471,586,681 branches:u # 111.6 M/sec branch_frequency (88.90%) + 3,774,653,633 cpu-cycles:u # 0.9 GHz cycles_frequency (88.49%) + 2,873,141,901 instructions:u # 0.8 instructions insn_per_cycle (88.92%) + TopdownL1 # 3.1 % tma_backend_bound + # 93.2 % tma_bad_speculation (89.08%) + # 0.8 % tma_frontend_bound (77.12%) + # 2.9 % tma_retiring (88.97%) + + 23.505754034 seconds time elapsed + + 2.541138000 seconds user + 1.579384000 seconds sys + + + + Performance counter stats for 'abg -s 0 --edges 100000 --vertices 10000': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 8,901 page-faults:u # 2257.1 faults/sec page_faults_per_second + 3,943.50 msec task-clock:u # nan CPUs CPUs_utilized + 19,700,315 branch-misses:u # 4.2 % branch_miss_rate (88.74%) + 469,106,160 branches:u # 119.0 M/sec branch_frequency (89.42%) + 3,566,809,189 cpu-cycles:u # 0.9 GHz cycles_frequency (88.73%) + 2,874,566,250 instructions:u # 0.8 instructions insn_per_cycle (89.30%) + TopdownL1 # 3.2 % tma_backend_bound + # 93.1 % tma_bad_speculation (88.38%) + # 1.0 % tma_frontend_bound (77.57%) + # 2.7 % tma_retiring (89.14%) + + 23.581834697 seconds time elapsed + + 2.364731000 seconds user + 1.382279000 seconds sys + + + + Performance counter stats for 'abg -s 0 --edges 100000 --vertices 10000': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 8,899 page-faults:u # 2051.8 faults/sec page_faults_per_second + 4,337.26 msec task-clock:u # nan CPUs CPUs_utilized + 24,630,943 branch-misses:u # 5.3 % branch_miss_rate (88.79%) + 468,217,071 branches:u # 108.0 M/sec branch_frequency (89.26%) + 3,871,637,368 cpu-cycles:u # 0.9 GHz cycles_frequency (89.69%) + 2,886,575,592 instructions:u # 0.7 instructions insn_per_cycle (88.48%) + TopdownL1 # 2.6 % tma_backend_bound + # 93.9 % tma_bad_speculation (89.09%) + # 0.8 % tma_frontend_bound (77.08%) + # 2.7 % tma_retiring (88.60%) + + 23.862426257 seconds time elapsed + + 2.702690000 seconds user + 1.556239000 seconds sys + + + + Performance counter stats for 'abg -s 0 --edges 100000 --vertices 10000': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 8,929 page-faults:u # 2178.0 faults/sec page_faults_per_second + 4,099.54 msec task-clock:u # nan CPUs CPUs_utilized + 20,419,695 branch-misses:u # 4.3 % branch_miss_rate (88.77%) + 468,697,030 branches:u # 114.3 M/sec branch_frequency (88.66%) + 3,662,490,281 cpu-cycles:u # 0.9 GHz cycles_frequency (88.96%) + 2,881,922,136 instructions:u # 0.8 instructions insn_per_cycle (88.22%) + TopdownL1 # 2.7 % tma_backend_bound + # 93.4 % tma_bad_speculation (89.30%) + # 0.9 % tma_frontend_bound (78.26%) + # 3.0 % tma_retiring (89.35%) + + 23.836081318 seconds time elapsed + + 2.496080000 seconds user + 1.404325000 seconds sys + + + + Performance counter stats for 'abg -s 0 --edges 100000 --vertices 10000': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 8,910 page-faults:u # 2142.8 faults/sec page_faults_per_second + 4,158.15 msec task-clock:u # nan CPUs CPUs_utilized + 22,061,675 branch-misses:u # 4.7 % branch_miss_rate (89.34%) + 468,617,583 branches:u # 112.7 M/sec branch_frequency (89.04%) + 3,715,861,939 cpu-cycles:u # 0.9 GHz cycles_frequency (89.09%) + 2,863,480,156 instructions:u # 0.8 instructions insn_per_cycle (88.88%) + TopdownL1 # 3.1 % tma_backend_bound + # 92.9 % tma_bad_speculation (88.91%) + # 1.2 % tma_frontend_bound (77.50%) + # 2.9 % tma_retiring (88.34%) + + 23.915389688 seconds time elapsed + + 2.514468000 seconds user + 1.486598000 seconds sys + + + + Performance counter stats for 'abg -s 0 --edges 100000 --vertices 10000': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 8,914 page-faults:u # 2174.6 faults/sec page_faults_per_second + 4,099.08 msec task-clock:u # nan CPUs CPUs_utilized + 21,618,274 branch-misses:u # 4.6 % branch_miss_rate (88.70%) + 470,860,512 branches:u # 114.9 M/sec branch_frequency (88.86%) + 3,651,031,348 cpu-cycles:u # 0.9 GHz cycles_frequency (88.35%) + 2,868,827,576 instructions:u # 0.8 instructions insn_per_cycle (88.60%) + TopdownL1 # 2.8 % tma_backend_bound + # 93.2 % tma_bad_speculation (89.79%) + # 1.0 % tma_frontend_bound (78.10%) + # 2.9 % tma_retiring (88.85%) + + 23.835811441 seconds time elapsed + + 2.499864000 seconds user + 1.432561000 seconds sys + + + + Performance counter stats for 'abg -s 0 --edges 100000 --vertices 10000': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 8,908 page-faults:u # 2039.6 faults/sec page_faults_per_second + 4,367.51 msec task-clock:u # nan CPUs CPUs_utilized + 23,852,818 branch-misses:u # 5.1 % branch_miss_rate (88.96%) + 472,773,151 branches:u # 108.2 M/sec branch_frequency (89.17%) + 3,859,110,223 cpu-cycles:u # 0.9 GHz cycles_frequency (88.53%) + 2,871,697,007 instructions:u # 0.7 instructions insn_per_cycle (89.30%) + TopdownL1 # 2.9 % tma_backend_bound + # 93.1 % tma_bad_speculation (88.80%) + # 1.1 % tma_frontend_bound (77.48%) + # 2.9 % tma_retiring (88.78%) + + 23.944475725 seconds time elapsed + + 2.634189000 seconds user + 1.621694000 seconds sys + + + + Performance counter stats for 'abg -s 0 --edges 100000 --vertices 10000': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 8,891 page-faults:u # 2063.8 faults/sec page_faults_per_second + 4,308.06 msec task-clock:u # nan CPUs CPUs_utilized + 23,683,701 branch-misses:u # 5.0 % branch_miss_rate (88.81%) + 471,730,903 branches:u # 109.5 M/sec branch_frequency (88.82%) + 3,811,706,830 cpu-cycles:u # 0.9 GHz cycles_frequency (88.50%) + 2,874,728,425 instructions:u # 0.8 instructions insn_per_cycle (89.09%) + TopdownL1 # 3.2 % tma_backend_bound + # 93.2 % tma_bad_speculation (89.29%) + # 0.8 % tma_frontend_bound (77.38%) + # 2.8 % tma_retiring (88.76%) + + 23.941191476 seconds time elapsed + + 2.580614000 seconds user + 1.589568000 seconds sys + + + + Performance counter stats for 'abg -s 0 --edges 100000 --vertices 10000': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 8,908 page-faults:u # 1942.0 faults/sec page_faults_per_second + 4,586.98 msec task-clock:u # nan CPUs CPUs_utilized + 26,462,179 branch-misses:u # 5.6 % branch_miss_rate (88.88%) + 470,267,356 branches:u # 102.5 M/sec branch_frequency (89.30%) + 3,950,316,890 cpu-cycles:u # 0.9 GHz cycles_frequency (89.01%) + 2,875,366,652 instructions:u # 0.7 instructions insn_per_cycle (89.12%) + TopdownL1 # 3.0 % tma_backend_bound + # 93.3 % tma_bad_speculation (89.56%) + # 1.0 % tma_frontend_bound (77.99%) + # 2.7 % tma_retiring (88.78%) + + 23.987646720 seconds time elapsed + + 2.819946000 seconds user + 1.708123000 seconds sys + + + + Performance counter stats for 'abg -s 0 --edges 100000 --vertices 10000': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 8,901 page-faults:u # 2033.7 faults/sec page_faults_per_second + 4,376.66 msec task-clock:u # nan CPUs CPUs_utilized + 24,468,692 branch-misses:u # 5.2 % branch_miss_rate (89.21%) + 470,434,603 branches:u # 107.5 M/sec branch_frequency (88.57%) + 3,842,906,254 cpu-cycles:u # 0.9 GHz cycles_frequency (88.92%) + 2,882,294,024 instructions:u # 0.8 instructions insn_per_cycle (88.54%) + TopdownL1 # 3.3 % tma_backend_bound + # 92.9 % tma_bad_speculation (89.42%) + # 1.0 % tma_frontend_bound (78.11%) + # 2.8 % tma_retiring (88.83%) + + 23.938360684 seconds time elapsed + + 2.706387000 seconds user + 1.566307000 seconds sys + + + + Performance counter stats for 'abg -s 0 --edges 100000 --vertices 10000': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 8,901 page-faults:u # 2070.4 faults/sec page_faults_per_second + 4,299.12 msec task-clock:u # nan CPUs CPUs_utilized + 23,105,624 branch-misses:u # 4.9 % branch_miss_rate (89.16%) + 469,320,283 branches:u # 109.2 M/sec branch_frequency (89.30%) + 3,764,044,040 cpu-cycles:u # 0.9 GHz cycles_frequency (89.20%) + 2,882,630,799 instructions:u # 0.8 instructions insn_per_cycle (88.65%) + TopdownL1 # 3.0 % tma_backend_bound + # 93.3 % tma_bad_speculation (88.62%) + # 0.9 % tma_frontend_bound (77.07%) + # 2.7 % tma_retiring (88.44%) + + 23.904237278 seconds time elapsed + + 2.573002000 seconds user + 1.588403000 seconds sys + + + + Performance counter stats for 'abg -s 0 --edges 100000 --vertices 10000': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 8,912 page-faults:u # 1972.9 faults/sec page_faults_per_second + 4,517.21 msec task-clock:u # nan CPUs CPUs_utilized + 26,403,250 branch-misses:u # 5.6 % branch_miss_rate (89.17%) + 471,556,977 branches:u # 104.4 M/sec branch_frequency (88.85%) + 3,920,883,681 cpu-cycles:u # 0.9 GHz cycles_frequency (89.16%) + 2,879,475,211 instructions:u # 0.7 instructions insn_per_cycle (88.82%) + TopdownL1 # 3.0 % tma_backend_bound + # 93.4 % tma_bad_speculation (88.56%) + # 1.0 % tma_frontend_bound (77.64%) + # 2.6 % tma_retiring (89.00%) + + 23.958921725 seconds time elapsed + + 2.768720000 seconds user + 1.678617000 seconds sys + + + + Performance counter stats for 'abg -s 0 --edges 100000 --vertices 10000': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 8,909 page-faults:u # 1916.5 faults/sec page_faults_per_second + 4,648.65 msec task-clock:u # nan CPUs CPUs_utilized + 27,767,278 branch-misses:u # 5.9 % branch_miss_rate (88.57%) + 469,207,104 branches:u # 100.9 M/sec branch_frequency (89.22%) + 3,908,843,958 cpu-cycles:u # 0.8 GHz cycles_frequency (88.81%) + 2,878,309,778 instructions:u # 0.7 instructions insn_per_cycle (89.32%) + TopdownL1 # 3.0 % tma_backend_bound + # 93.3 % tma_bad_speculation (89.35%) + # 0.9 % tma_frontend_bound (77.39%) + # 2.8 % tma_retiring (88.90%) + + 23.959821513 seconds time elapsed + + 2.725447000 seconds user + 1.878744000 seconds sys + + + + Performance counter stats for 'abg -s 0 --edges 100000 --vertices 10000': + + 0 context-switches:u # 0.0 cs/sec cs_per_second + 0 cpu-migrations:u # 0.0 migrations/sec migrations_per_second + 8,909 page-faults:u # 2049.7 faults/sec page_faults_per_second + 4,346.50 msec task-clock:u # nan CPUs CPUs_utilized + 24,079,172 branch-misses:u # 5.1 % branch_miss_rate (89.23%) + 469,082,342 branches:u # 107.9 M/sec branch_frequency (88.82%) + 3,854,257,320 cpu-cycles:u # 0.9 GHz cycles_frequency (88.60%) + 2,884,056,893 instructions:u # 0.7 instructions insn_per_cycle (88.93%) + TopdownL1 # 2.6 % tma_backend_bound + # 93.9 % tma_bad_speculation (89.21%) + # 0.9 % tma_frontend_bound (78.41%) + # 2.6 % tma_retiring (89.55%) + + 23.866453030 seconds time elapsed + + 2.577137000 seconds user + 1.665657000 seconds sys diff --git a/assets/abg/benchmarking/final_render_mem/out.txt b/assets/abg/benchmarking/final_render_mem/out.txt @@ -0,0 +1,7 @@ +137.51 MiB +137.09 MiB +137.26 MiB +137.15 MiB +137.34 MiB +137.30 MiB +137.25 MiB