#!/usr/bin/env python3 """Opt-in local CPU/IPC benchmark of a supplied nonprivate WAV. Never captures or types.""" import argparse import array import os from pathlib import Path import select import statistics import struct import subprocess import tempfile import time import wave def receive(fd, timeout): end = time.monotonic() + timeout def exact(count): data = bytearray() while len(data) < count: remaining = end - time.monotonic() if remaining <= 0 or not select.select([fd], [], [], remaining)[0]: raise TimeoutError("worker deadline") chunk = os.read(fd, count - len(data)) if not chunk: raise RuntimeError("worker exited") data.extend(chunk) return bytes(data) size, = struct.unpack("