Squash commits for public release

This commit is contained in:
2025-02-12 09:54:05 -05:00
commit 7118adc514
1108 changed files with 80873 additions and 0 deletions

75
utils/test/bench.py Normal file
View File

@@ -0,0 +1,75 @@
import subprocess
import sys
import os
from tabulate import tabulate
from termcolor import colored
import signal
target_arch = sys.argv[1]
process = subprocess.Popen(
"./run_tester.sh", stdout=subprocess.PIPE, preexec_fn=os.setpgrp)
string = ""
sum_of_benchs = {}
count_of_benchs = {}
# For github CI
expected_benchmark_results = {
"x86": {
"FORK": 320000,
"PNG LOADER": 1180000
},
"arm32": {
"FORK": 954667,
"PNG LOADER": 5176000
},
}
def print_results():
print(colored("Bench results:", color="white", attrs=["bold"]))
res = []
mper = 0.0
for key, value in sum_of_benchs.items():
new_val = int(value / count_of_benchs[key])
percent = (1 - new_val /
expected_benchmark_results[target_arch][key]) * 100
res.append([key, expected_benchmark_results[target_arch][key],
new_val, "{:.2f}%".format(percent)])
mper = min(mper, percent)
data = tabulate(
res, headers=['Test', 'Expected ({0})'.format(target_arch), 'Got', 'Diff'], tablefmt='orgtbl')
print(data)
if (mper < -50):
print(colored("Crashing: too big performance drop ({0}%)!!!".format(
mper), color="red", attrs=["bold"]))
exit(1)
def process_string(string):
if (string.startswith("[BENCH]")):
end_of_date = string.find(" (usec)")
start_of_date = string.find("] ") + 2
pr = string[8:start_of_date - 2]
it = int(string[start_of_date:end_of_date])
if count_of_benchs.get(pr, None) is None:
sum_of_benchs[pr] = 0
count_of_benchs[pr] = 0
sum_of_benchs[pr] += it
count_of_benchs[pr] += 1
if (string.startswith("[BENCH END]")):
os.killpg(os.getpgid(process.pid), signal.SIGTERM)
print_results()
for c in iter(lambda: process.stdout.read(1), b''):
letter = c.decode()
if letter == "\n":
process_string(string)
string = ""
else:
string += letter