public void doTrial()

in src/main/java/org/apache/datasketches/characterization/hll/HllSerDeProfile.java [59:102]


  public void doTrial(final long[] stats, final int uPerTrial) {
    sketch.reset(); // reuse the same sketch
    final byte[] byteArr;

    for (int u = uPerTrial; u-- > 0;) {
      sketch.update(++vIn);
    }

    final long startEstTime_nS = System.nanoTime();
    final double est1 = sketch.getEstimate();
    final long stopEstTime_nS = System.nanoTime();

    final long startSerTime_nS, stopSerTime_nS;
    if (compact) {
      startSerTime_nS = System.nanoTime();
      byteArr = sketch.toCompactByteArray();
      stopSerTime_nS = System.nanoTime();
    } else {
      startSerTime_nS = System.nanoTime();
      byteArr = sketch.toUpdatableByteArray();
      stopSerTime_nS = System.nanoTime();
    }

    final Memory mem = Memory.wrap(byteArr);
    final HllSketch sketch2;
    final long startDeserTime_nS, stopDeserTime_nS;
    if (wrap) {
      startDeserTime_nS = System.nanoTime();
      sketch2 = HllSketch.wrap(mem);
      stopDeserTime_nS = System.nanoTime();
    } else {
      startDeserTime_nS = System.nanoTime();
      sketch2 = HllSketch.heapify(mem);
      stopDeserTime_nS = System.nanoTime();
    }

    final double est2 = sketch2.getEstimate();
    assert est1 == est2;

    stats[est_ns] = stopEstTime_nS - startEstTime_nS;
    stats[ser_ns] = stopSerTime_nS - startSerTime_nS;
    stats[deser_ns] = stopDeserTime_nS - startDeserTime_nS;
    stats[size_bytes] = byteArr.length;
  }