public void doTrial()

in src/main/java/org/apache/datasketches/characterization/quantiles/ItemsSketchSpeedProfile.java [76:124]


  public void doTrial() {
    DoublesSketchAccuracyProfile.shuffle(inputValues);

    final long startBuild = System.nanoTime();
    final ItemsSketch<Double> sketch = ItemsSketch.getInstance(k, COMPARATOR);
    final long stopBuild = System.nanoTime();
    buildTimeNs += stopBuild - startBuild;

    final long startUpdate = System.nanoTime();
    for (int i = 0; i < inputValues.length; i++) {
      sketch.update(inputValues[i]);
    }
    final long stopUpdate = System.nanoTime();
    updateTimeNs += stopUpdate - startUpdate;

    final long startGetQuantiles = System.nanoTime();
    sketch.getQuantiles(numQueryValues);
    final long stopGetQuantiles = System.nanoTime();
    getQuantilesTimeNs += stopGetQuantiles - startGetQuantiles;

    final long startGetCdf = System.nanoTime();
    sketch.getCDF(queryValues);
    final long stopGetCdf = System.nanoTime();
    getCdfTimeNs += stopGetCdf - startGetCdf;

    final long startGetRank = System.nanoTime();
    for (final double value: queryValues) {
      //sketch.getRank(value); //TODO this was not released yet
      final double estRank = sketch.getCDF(new Double[] {value})[0];
    }
    final long stopGetRank = System.nanoTime();
    getRankTimeNs += stopGetRank - startGetRank;

    final long startSerialize = System.nanoTime();
    final byte[] bytes = sketch.toByteArray(SERDE);
    final long stopSerialize = System.nanoTime();
    serializeTimeNs += stopSerialize - startSerialize;

    final WritableMemory mem = WritableMemory.writableWrap(bytes);
    final long startDeserialize = System.nanoTime();
    ItemsSketch.getInstance(mem, COMPARATOR, SERDE);
    final long stopDeserialize = System.nanoTime();
    deserializeTimeNs += stopDeserialize - startDeserialize;

    // could record the last one since they must be the same
    // but let's average across all trials to see if there is an anomaly
    numRetainedItems += sketch.getRetainedItems();
    serializedSizeBytes += bytes.length;
  }