| 1234567891011121314151617181920212223242526 |
- #!/usr/bin/env python3
- import os
- import re
- import subprocess
- import sys
- os.chdir(os.path.dirname(os.path.realpath(sys.argv[0])))
- os.chdir("../application-ooni")
- os.environ['PYTHONUNBUFFERED'] = '1'
- subprocess.run(["cargo", "bench", "-p", "ooniauth-core"])
- proc = subprocess.Popen(["python3", "scripts/criterion_extract.py"], stdout=subprocess.PIPE, text=True)
- timings = {}
- for line in proc.stdout:
- line = line.rstrip()
- if matches := re.match(r'(client|server)_(reg|submit|update)\s+([\d\.]+)\s+([\d\.]+)', line):
- timings[f"{matches.group(1)}_{matches.group(2)}"] = f"{matches.group(3)} ({matches.group(4)})"
- else:
- print(f"Unparsable line: {line}")
- print("\n=== Table 3 ===\n")
- print("protocol,client native ms,server native ms")
- print(f"Registration,{timings['client_reg']},{timings['server_reg']}")
- print(f"Submit,{timings['client_submit']},{timings['server_submit']}")
- print(f"Update,{timings['client_update']},{timings['server_update']}")
|