private void doTrials()

in src/main/java/org/apache/datasketches/characterization/uniquecount/BaseSerDeProfile.java [95:125]


  private void doTrials() {
    final int maxU = 1 << lgMaxU;
    final int minU = 1 << lgMinU;
    int lastU = 0;
    final StringBuilder dataStr = new StringBuilder();
    final long[] rawStats = new long[numStats];
    final long[] sumStats = new long[numStats];
    final double[] meanStats = new double[numStats];
    job.println(getHeader());

    while (lastU < maxU) { //for each U point on X-axis, OR one row on output
      final int nextU = lastU == 0 ? minU : (int)pwr2SeriesNext(uPPO, lastU);
      lastU = nextU;
      final int trials = getNumTrials(nextU);

      Arrays.fill(sumStats, 0);

      System.gc(); //much slower but cleaner plots
      for (int t = 0; t < trials; t++) {
        doTrial(rawStats, nextU); //at this # of uniques
        for (int i = 0; i < numStats; i++) {
          sumStats[i] += rawStats[i];
        }
      }
      for (int i = 0; i < numStats; i++) {
        meanStats[i] = (double)sumStats[i] / trials;
      }
      process(meanStats, trials, nextU, dataStr);
      job.println(dataStr.toString());
    }
  }