Skip to content

Commit

Permalink
Fix benchmarker csv format, support time and memory output together
Browse files Browse the repository at this point in the history
  • Loading branch information
vorosl committed May 13, 2024
1 parent dea5797 commit 05846e3
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions test/wasmBenchmarker/benchmark.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import subprocess
import sys
import time

from pathlib import Path
from os.path import abspath, dirname, join
from markdownTable import markdownTable # pip install py-markdown-table

Expand Down Expand Up @@ -242,11 +242,14 @@ def generate_report(data, file_name=None):
engine_names.remove("test")
for engineName in engine_names:
header += f";{engineName}"
header += "\n"
file.write(header)
for record in data:
line = record["test"]
for engineName in engine_names:
line += f";{record[engineName]}"

line += "\n"
file.write(line)
return
file.write(markdownTable(data).setParams(row_sep="markdown", quote=False).getMarkdown())
Expand All @@ -260,14 +263,17 @@ def main():
print("You need to specify the engine locations", file=sys.stderr)
exit(1)

memreport = Path(args.report).absolute()
memreport = memreport.parent / f"{memreport.stem}_mem{memreport.suffix}"

check_programs(args.engines, args.verbose)
emcc_path = get_emcc(args.verbose)
test_names = compile_tests(emcc_path, args.test_dir, args.only_game, args.only_simd, args.compile_anyway, args.run, args.verbose)

result_data = run_tests(args.test_dir, test_names, args.engines, args.iterations, args.mem, args.jit, args.verbose)
generate_report(result_data["time"], args.report)
if (args.mem):
generate_report(result_data["mem"], args.report)
generate_report(result_data["mem"], str(memreport))


if __name__ == "__main__":
Expand Down

0 comments on commit 05846e3

Please sign in to comment.