summaryrefslogtreecommitdiff
path: root/db-4.8.30/test_micro/report.awk
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2016-12-17 21:28:53 -0800
committerJesse Morgan <jesse@jesterpm.net>2016-12-17 21:28:53 -0800
commit54df2afaa61c6a03cbb4a33c9b90fa572b6d07b8 (patch)
tree18147b92b969d25ffbe61935fb63035cac820dd0 /db-4.8.30/test_micro/report.awk
Berkeley DB 4.8 with rust build script for linux.
Diffstat (limited to 'db-4.8.30/test_micro/report.awk')
-rw-r--r--db-4.8.30/test_micro/report.awk40
1 files changed, 40 insertions, 0 deletions
diff --git a/db-4.8.30/test_micro/report.awk b/db-4.8.30/test_micro/report.awk
new file mode 100644
index 0000000..6ae3303
--- /dev/null
+++ b/db-4.8.30/test_micro/report.awk
@@ -0,0 +1,40 @@
+# $Id$
+
+/^[^#]/ {
+ 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");
+ }
+}