#!/bin/sh # vim: ts=4 sw=4 et awk ' $1 == "closure" && $5 == "explicit" { closure_explicit[$4] += $7; } $1 == "closure" && $5 == "hidden" { closure_hidden[$4] += $7; } $1 == "method" && $5 == "explicit" { method_explicit[$4] += $7; } $1 == "method" && $5 == "hidden" { method_hidden[$4] += $7; } { if ($4 > max) { max = $4; } } END { for (i = 0; i <= max; i++) { if (closure_explicit[i]) { printf "closure invocations with %2d explicit args: %10d\n", \ i, closure_explicit[i]; } } for (i = 0; i <= max; i++) { if (closure_hidden[i]) { printf "closure invocations with %2d hidden args: %10d\n", \ i, closure_hidden[i]; } } for (i = 0; i <= max; i++) { if (method_explicit[i]) { printf "method invocations with %2d explicit args: %10d\n", \ i, method_explicit[i]; } } for (i = 0; i <= max; i++) { if (method_hidden[i]) { printf "method invocations with %2d hidden args: %10d\n", \ i, method_hidden[i]; } } } ' "$@"