#!/bin/sh -e parse() { awk 'BEGIN { OFS = FS = "\t" } { name = $1 path = $2 cpu = $3 != "" batch = $4 time = $5 if (path ~ "/batch-") name = name " (batch)" else if (name ~ /^WD / && batch > 1) next } { group = name FS cpu FS batch if (lastgroup != group) { if (lastgroup) print lastgroup, mintime lastgroup = group mintime = time } else { if (mintime > time) mintime = time } } END { print lastgroup, mintime }' "${BENCH_LOG:-bench.out}" } cat <<END GPU inference ~~~~~~~~~~~~~ [cols="<,>,>", options=header] |=== |Model|Batch size|Time $(parse | awk -F'\t' 'BEGIN { OFS = "|" } !$2 { print "", $1, $3, $4 " s" }' | sort -t'|' -nk4) |=== CPU inference ~~~~~~~~~~~~~ [cols="<,>,>", options=header] |=== |Model|Batch size|Time $(parse | awk -F'\t' 'BEGIN { OFS = "|" } $2 { print "", $1, $3, $4 " s" }' | sort -t'|' -nk4) |=== END