pylucene 3.5.0-3
[pylucene.git] / lucene-java-3.4.0 / lucene / contrib / benchmark / src / java / org / apache / lucene / benchmark / byTask / tasks / ReportTask.java
diff --git a/lucene-java-3.4.0/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReportTask.java b/lucene-java-3.4.0/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReportTask.java
deleted file mode 100644 (file)
index ed990a4..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
-import java.util.LinkedHashMap;
-
-import org.apache.lucene.benchmark.byTask.PerfRunData;
-import org.apache.lucene.benchmark.byTask.stats.Report;
-import org.apache.lucene.benchmark.byTask.stats.TaskStats;
-import org.apache.lucene.benchmark.byTask.utils.Format;
-
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Report (abstract) task - all report tasks extend this task.
- */
-public abstract class ReportTask extends PerfTask {
-
-  public ReportTask(PerfRunData runData) {
-    super(runData);
-  }
-
-  /* (non-Javadoc)
-   * @see PerfTask#shouldNeverLogAtStart()
-   */
-  @Override
-  protected boolean shouldNeverLogAtStart() {
-    return true;
-  }
-
-  /* (non-Javadoc)
-   * @see PerfTask#shouldNotRecordStats()
-   */
-  @Override
-  protected boolean shouldNotRecordStats() {
-    return true;
-  }
-
-  /*
-   * From here start the code used to generate the reports. 
-   * Subclasses would use this part to generate reports.
-   */
-  
-  protected static final String newline = System.getProperty("line.separator");
-  
-  /**
-   * Get a textual summary of the benchmark results, average from all test runs.
-   */
-  protected static final String OP =          "Operation  ";
-  protected static final String ROUND =       " round";
-  protected static final String RUNCNT =      "   runCnt";
-  protected static final String RECCNT =      "   recsPerRun";
-  protected static final String RECSEC =      "        rec/s";
-  protected static final String ELAPSED =     "  elapsedSec";
-  protected static final String USEDMEM =     "    avgUsedMem";
-  protected static final String TOTMEM =      "    avgTotalMem";
-  protected static final String COLS[] = {
-      RUNCNT,
-      RECCNT,
-      RECSEC,
-      ELAPSED,
-      USEDMEM,
-      TOTMEM
-  };
-
-  /**
-   * Compute a title line for a report table
-   * @param longestOp size of longest op name in the table
-   * @return the table title line.
-   */
-  protected String tableTitle (String longestOp) {
-    StringBuilder sb = new StringBuilder();
-    sb.append(Format.format(OP,longestOp));
-    sb.append(ROUND);
-    sb.append(getRunData().getConfig().getColsNamesForValsByRound());
-    for (int i = 0; i < COLS.length; i++) {
-      sb.append(COLS[i]);
-    }
-    return sb.toString(); 
-  }
-  
-  /**
-   * find the longest op name out of completed tasks.  
-   * @param taskStats completed tasks to be considered.
-   * @return the longest op name out of completed tasks.
-   */
-  protected String longestOp(Iterable<TaskStats> taskStats) {
-    String longest = OP;
-    for (final TaskStats stat : taskStats) {
-      if (stat.getElapsed()>=0) { // consider only tasks that ended
-        String name = stat.getTask().getName();
-        if (name.length() > longest.length()) {
-          longest = name;
-        }
-      }
-    }
-    return longest;
-  }
-  
-  /**
-   * Compute a report line for the given task stat.
-   * @param longestOp size of longest op name in the table.
-   * @param stat task stat to be printed.
-   * @return the report line.
-   */
-  protected String taskReportLine(String longestOp, TaskStats stat) {
-    PerfTask task = stat.getTask();
-    StringBuilder sb = new StringBuilder();
-    sb.append(Format.format(task.getName(), longestOp));
-    String round = (stat.getRound()>=0 ? ""+stat.getRound() : "-");
-    sb.append(Format.formatPaddLeft(round, ROUND));
-    sb.append(getRunData().getConfig().getColsValuesForValsByRound(stat.getRound()));
-    sb.append(Format.format(stat.getNumRuns(), RUNCNT)); 
-    sb.append(Format.format(stat.getCount() / stat.getNumRuns(), RECCNT));
-    long elapsed = (stat.getElapsed()>0 ? stat.getElapsed() : 1); // assume at least 1ms
-    sb.append(Format.format(2, (float) (stat.getCount() * 1000.0 / elapsed), RECSEC));
-    sb.append(Format.format(2, (float) stat.getElapsed() / 1000, ELAPSED));
-    sb.append(Format.format(0, (float) stat.getMaxUsedMem() / stat.getNumRuns(), USEDMEM)); 
-    sb.append(Format.format(0, (float) stat.getMaxTotMem() / stat.getNumRuns(), TOTMEM));
-    return sb.toString();
-  }
-
-  protected Report genPartialReport(int reported, LinkedHashMap<String,TaskStats> partOfTasks, int totalSize) {
-    String longetOp = longestOp(partOfTasks.values());
-    boolean first = true;
-    StringBuilder sb = new StringBuilder();
-    sb.append(tableTitle(longetOp));
-    sb.append(newline);
-    int lineNum = 0;
-    for (final TaskStats stat : partOfTasks.values()) {
-      if (!first) {
-        sb.append(newline);
-      }
-      first = false;
-      String line = taskReportLine(longetOp,stat);
-      lineNum++;
-      if (partOfTasks.size()>2 && lineNum%2==0) {
-        line = line.replaceAll("   "," - ");
-      }
-      sb.append(line);
-      int[] byTime = stat.getCountsByTime();
-      if (byTime != null) {
-        sb.append(newline);
-        int end = -1;
-        for(int i=byTime.length-1;i>=0;i--) {
-          if (byTime[i] != 0) {
-            end = i;
-            break;
-          }
-        }
-        if (end != -1) {
-          sb.append("  by time:");
-          for(int i=0;i<end;i++) {
-            sb.append(' ').append(byTime[i]);
-          }
-        }
-      }
-    }
-    
-    String reptxt = (reported==0 ? "No Matching Entries Were Found!" : sb.toString());
-    return new Report(reptxt,partOfTasks.size(),reported,totalSize);
-  }
-}