#!/usr/bin/awk -f # vim: ft=awk ts=4 sw=4 et $1 == "overall_stats" { num_invocations += 1; overall_count += $2; overall_sum += $3; } $1 == "ext" { ext = $4; ext_count[ext] += $2; ext_sum[ext] += $3; } $1 == "ext_sch_dir" { esd = $4; esd_count[esd] += $2; esd_sum[esd] += $3; } END { printf "number of compiler invocations: %10d\n", num_invocations; printf "number of file name lookups: %10d\n", overall_sum; printf "number of file name unique results: %10d\n", overall_count; printf "number of lookups per unique result: %10.4f\n\n", (overall_sum + 0.0) / overall_count; printf "----------------------------------------------------------\n\n"; num_exts = asorti(ext_count, ext_sort_keys); for (i = 1; i <= num_exts; i++) { e = ext_sort_keys[i]; printf "ext %-32s lookups: %8d\n", e, ext_sum[e]; printf "ext %-32s unique results: %8d\n", e, ext_count[e]; printf "ext %-32s lookups per unique result: %8.2f\n\n", e, (ext_sum[e] + 0.0) / ext_count[e]; } printf "----------------------------------------------------------\n\n"; num_esds = asorti(esd_count, esd_sort_keys); for (i = 1; i <= num_esds; i++) { e = esd_sort_keys[i]; printf "esd %-32s lookups: %8d\n", e, esd_sum[e]; printf "esd %-32s unique results: %8d\n", e, esd_count[e]; printf "esd %-32s lookups per unique result: %8.2f\n\n", e, (esd_sum[e] + 0.0) / esd_count[e]; } }