public static void latexOutput(BenchPerformance[] tests, PrintStream ps) { String header = "\\begin{tabular}{|l|"; for (int i = 0; i < tests.length; i++) header += "r"; header += "|}"; ps.println(header); ps.println("\\hline"); ps.printf("%35s ", "measure"); for (BenchPerformance t : tests) ps.printf("& %10s ", t.g.getId()); ps.println("\\\\"); ps.println("\\hline"); for (Measures m : Measures.values()) { // skip if not measured if (!tests[0].measureValues.containsKey(m)) continue; ps.printf("%35s ", "\\lstinline~" + m.name() + "~"); for (BenchPerformance t : tests) { double val = t.measureValues.get(m); if (m == Measures.MEMORY) val /= 1 << 20; else val /= 1000; ps.printf("& %10.3f ", val); } ps.println("\\\\"); } ps.println("\\hline"); ps.println("\\end{tabular}"); }