///|
/// Print a local wall-clock throughput result. This is a reproducible workload,
/// not a cross-language benchmark.
fn main raise {
  let body = @base64.str2bytes(
    "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
  )
  let message = @digest.apply_digest_header(
    {
      headers: [{ name: "Content-Type", value: "application/octet-stream", }],
      body,
    },
    @digest.Content,
  )
  let iterations = 20_000
  let started = @env.now()
  let mut verified = 0
  for i = 0; i < iterations; i = i + 1 {
    let result = @digest.verify_http_message(message, @digest.Content)
    if result.verification.decision == @digest.Verified {
      verified += 1
    }
  }
  let elapsed_ms = @env.now() - started
  let per_second = if elapsed_ms > 0 {
    iterations.to_uint64() * 1000UL / elapsed_ms
  } else {
    0UL
  }
  println(
    "verified \{verified}/\{iterations} dual-digest HTTP messages in \{elapsed_ms} ms (\{per_second} messages/s)",
  )
}