[pypy-commit] extradoc extradoc: highlight minima and maxima in figure 8

bivab noreply at buildbot.pypy.org
Thu Sep 6 16:15:44 CEST 2012


Author: David Schneider <david.schneider at picle.org>
Branch: extradoc
Changeset: r4756:a3c9d9f5e282
Date: 2012-09-06 15:49 +0200
http://bitbucket.org/pypy/extradoc/changeset/a3c9d9f5e282/

Log:	highlight minima and maxima in figure 8

diff --git a/talk/vmil2012/tool/build_tables.py b/talk/vmil2012/tool/build_tables.py
--- a/talk/vmil2012/tool/build_tables.py
+++ b/talk/vmil2012/tool/build_tables.py
@@ -33,24 +33,58 @@
             '99\% of failures',
             '99.9\% of failures',
             ]
-
-    for bench, info in failures.iteritems():
+    mins = [(10000, 0)] * (len(head) - 2)
+    maxs = [(0, 0)] * (len(head) - 2)
+    for i, (bench, info) in enumerate(failures.iteritems()):
         total = info['nguards']
         total_failures = len(info['results'])
-        bridges = len([k for k,v in info['results'].iteritems() \
+        bridges = len([k for k, v in info['results'].iteritems()
                                             if v > BRIDGE_THRESHOLD])
+        perc_failures = (100 * total_failures / total)
+        perc_bridges = (100 * bridges / total)
         num_50 = we_are_n_percent(info, 50)
         num_99 = we_are_n_percent(info, 99)
         num_99_dot_9 = we_are_n_percent(info, 99.9)
+
+        mins[0] = min(mins[0], (perc_failures, i))
+        maxs[0] = max(maxs[0], (perc_failures, i))
+
+        mins[1] = min(mins[1], (perc_bridges, i))
+        maxs[1] = max(maxs[1], (perc_bridges, i))
+
+        mins[2] = min(mins[2], (num_50, i))
+        maxs[2] = max(maxs[2], (num_50, i))
+
+        mins[3] = min(mins[3], (num_99, i))
+        maxs[3] = max(maxs[3], (num_99, i))
+
+        mins[4] = min(mins[4], (num_99_dot_9, i))
+        maxs[4] = max(maxs[4], (num_99_dot_9, i))
+
         res = [bench.replace('_', '\\_'),
-                make_sparkline(info['results'], num_50 - 1, num_99 - 1, num_99_dot_9 - 1),
-                "%.1f\\%%" % (100 * total_failures/total),
-                "%.1f\\%%" % (100 * bridges/total),
-                "%d~~\\textasciitilde{}~~%.3f\\%%"  % (num_50, num_50 / total * 100),
-                "%d~~\\textasciitilde{}~~%.3f\\%%"  % (num_99, num_99 / total * 100),
-                "%d~~\\textasciitilde{}~~%.3f\\%%"  % (num_99_dot_9, num_99_dot_9 / total * 100),
+                make_sparkline(info['results'], num_50 - 1,
+                                num_99 - 1, num_99_dot_9 - 1),
+                "%.1f\\%%" % perc_failures,
+                "%.1f\\%%" % perc_bridges,
+                "%d~~\\textasciitilde{}~~%.3f\\%%" %
+                                    (num_50, num_50 / total * 100),
+                "%d~~\\textasciitilde{}~~%.3f\\%%" %
+                                    (num_99, num_99 / total * 100),
+                "%d~~\\textasciitilde{}~~%.3f\\%%" %
+                                    (num_99_dot_9, num_99_dot_9 / total * 100),
         ]
         table.append(res)
+    # mark min
+    for column, (_, index) in enumerate(mins):
+        table[index][column + 2] = "\cellcolor{darkgray}%s" % \
+                                    table[index][column + 2]
+
+    # marks max
+    # mark min
+    for column, (_, index) in enumerate(maxs):
+        table[index][column + 2] = "\cellcolor{lightgray}%s" % \
+                                    table[index][column + 2]
+
     output = render_table(template, head, sorted(table))
     write_table(output, texfile)
 


More information about the pypy-commit mailing list