Import BSDDB 4.7.25 (as of svn r89086)
This commit is contained in:
40
test_micro/report.awk
Normal file
40
test_micro/report.awk
Normal file
@@ -0,0 +1,40 @@
|
||||
# $Id: report.awk,v 1.3 2008/01/02 15:54:03 bostic Exp $
|
||||
|
||||
/^[^#]/ {
|
||||
total[$1] += $2
|
||||
sum[$1] += $2 * $2
|
||||
++count[$1];
|
||||
}
|
||||
END {
|
||||
# Compute the average, find the maximum.
|
||||
for (i in total) {
|
||||
avg[i] = total[i] / count[i];
|
||||
if (max < avg[i])
|
||||
max = avg[i]
|
||||
}
|
||||
|
||||
for (i in total) {
|
||||
# Calculate variance by raw score method.
|
||||
var = (sum[i] - ((total[i] * total[i]) / count[i])) / count[i];
|
||||
|
||||
# The standard deviation is the square root of the variance.
|
||||
stdv = sqrt(var);
|
||||
|
||||
# Display the release value, the average score, and run count.
|
||||
printf("%s:%.2f:%d:", i, avg[i], count[i]);
|
||||
|
||||
# If this run wasn't the fastest, display the percent by which
|
||||
# this run was slower.
|
||||
if (max != avg[i])
|
||||
printf("%.0f%%", ((max - avg[i]) / max) * 100);
|
||||
|
||||
printf(":");
|
||||
|
||||
# If there was more than a single run, display the relative
|
||||
# standard deviation.
|
||||
if (count[i] > 1)
|
||||
printf("%.0f%%", stdv * 100 / avg[i]);
|
||||
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user