]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Final statistics output after the test with average speed indication.
authorJeremias Maerki <jeremias@apache.org>
Fri, 22 Aug 2008 13:02:37 +0000 (13:02 +0000)
committerJeremias Maerki <jeremias@apache.org>
Fri, 22 Aug 2008 13:02:37 +0000 (13:02 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@688078 13f79535-47bb-0310-9956-ffa450edef68

test/java/org/apache/fop/memory/MemoryEater.java
test/java/org/apache/fop/memory/Stats.java

index 2fdb32ac90b5559e5d566acadfce6b7f82bb8ef7..a665580ae06feddd4a2779bb9f92e728cb37f390 100644 (file)
@@ -52,7 +52,7 @@ public class MemoryEater {
     private FopFactory fopFactory = FopFactory.newInstance();
     private Templates replicatorTemplates;
 
-    private Stats stats = new Stats();
+    private Stats stats;
 
     public MemoryEater() throws TransformerConfigurationException, MalformedURLException {
         File xsltFile = new File("test/xsl/fo-replicator.xsl");
@@ -61,10 +61,12 @@ public class MemoryEater {
     }
 
     private void eatMemory(File foFile, int runRepeats, int replicatorRepeats) throws Exception {
+        stats = new Stats();
         for (int i = 0; i < runRepeats; i++) {
             eatMemory(i, foFile, replicatorRepeats);
             stats.progress(i, runRepeats);
         }
+        stats.dumpFinalStats();
         System.out.println(stats.getGoogleChartURL());
     }
 
index 503fdad47f475b65b0960f7224221ab91841bf42..9e371251decfe8ae35a448f9f52a53417921d78c 100644 (file)
@@ -26,9 +26,12 @@ class Stats {
 
     private static final int INTERVAL = 2000;
 
-    private long lastProgressDump = System.currentTimeMillis();
+    private long startTime = System.currentTimeMillis();
+    private long lastProgressDump = startTime;
     private int pagesProduced;
 
+    private int totalPagesProduced;
+
     private int step;
     private int stepCount;
 
@@ -44,6 +47,7 @@ class Stats {
 
     public void notifyPagesProduced(int count) {
         pagesProduced += count;
+        totalPagesProduced += count;
     }
 
     public void reset() {
@@ -64,6 +68,14 @@ class Stats {
         samples.add(new Sample((int)ppm));
     }
 
+    public void dumpFinalStats() {
+        long duration = System.currentTimeMillis() - startTime;
+        System.out.println("Final statistics");
+        System.out.println("Pages produced: " +totalPagesProduced);
+        long ppm = 60000 * totalPagesProduced / duration;
+        System.out.println("Average speed: " + ppm + "ppm");
+    }
+
     public String getGoogleChartURL() {
         StringBuffer sb = new StringBuffer("http://chart.apis.google.com/chart?");
         //http://chart.apis.google.com/chart?cht=ls&chd=t:60,40&chs=250x100&chl=Hello|World