You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datasketches.apache.org by le...@apache.org on 2022/04/23 18:00:43 UTC
[datasketches-characterization] branch master updated: Refactor & cleanup characterization hierarchy
This is an automated email from the ASF dual-hosted git repository.
leerho pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/datasketches-characterization.git
The following commit(s) were added to refs/heads/master by this push:
new e1c53e6 Refactor & cleanup characterization hierarchy
e1c53e6 is described below
commit e1c53e6c408a534a6252dd3eda33b01bbc04f15c
Author: Lee Rhodes <le...@users.noreply.github.com>
AuthorDate: Sat Apr 23 10:59:41 2022 -0700
Refactor & cleanup characterization hierarchy
Moving tests into a proper hierarchy.
Eliminating excess lines, adding finals.
---
.../org/apache/datasketches/MonotonicPoints.java | 2 +-
.../java/org/apache/datasketches/SpacedPoints.java | 3 -
.../{quantiles => }/ProfileUtil.java | 3 +-
.../datasketches/characterization/Shuffle.java | 2 +-
.../characterization/cpc/CpcSerDeProfile.java | 1 -
.../characterization/fdt/FdtAccuracyProfile.java | 2 -
.../hash/HashBytesSpeedProfile.java | 2 -
.../hll/HllConfidenceIntervalInverseProfile.java | 1 -
.../characterization/hll/HllMergeSpeedProfile.java | 1 -
...llDoublesSketchRankGaussianAccuracyProfile.java | 2 +-
...KllFloatsSketchRankGaussianAccuracyProfile.java | 8 +--
.../KllFloatsSketchSpeedProfile.java | 13 +++--
.../KllSketchAccuracyProfile.java | 9 +--
.../KllSketchSizeSpeedProfile.java | 66 ++++++++++++++++------
.../characterization/kll/package-info.java | 1 +
.../characterization/memory/BaseSpeedProfile.java | 1 -
.../memory/HeapUtf8SpeedProfile.java | 3 -
.../memory/MemoryDirectSpeedProfile.java | 2 -
.../memory/UnsafeDirectSpeedProfile.java | 1 -
.../quantiles/BaseQuantilesAccuracyProfile.java | 6 +-
.../quantiles/BaseQuantilesSpeedProfile.java | 10 ++--
.../quantiles/DoublesSketchAccuracyProfile.java | 6 +-
.../quantiles/DoublesSketchSpeedProfile.java | 12 ++--
.../quantiles/DruidAppHistStreamAProfile.java | 2 +-
.../quantiles/ExactStreamAProfile.java | 4 +-
.../quantiles/ItemsSketchAccuracyProfile.java | 6 +-
.../quantiles/ItemsSketchSpeedProfile.java | 10 ++--
.../quantiles/MSketchStreamAProfile.java | 1 -
.../quantiles/QuantilesStreamAProfile.java | 2 +-
.../quantiles/tdigest/TDigestSpeedProfile.java | 11 +---
.../characterization/req}/FlipFlopStream.java | 14 ++---
.../req}/ReqMergeSpeedProfile.java | 13 +++--
.../req}/ReqSketchAccuracyProfile.java | 31 +++++-----
.../req}/ReqSketchAccuracyProfile2.java | 20 +++----
.../req}/ReqSketchLongSizeSpeedProfile.java | 2 +-
.../req}/ReqSketchSizeSpeedProfile.java | 5 +-
.../characterization/req}/StreamMaker.java | 38 +++++++------
.../characterization/req}/TrueFloatRanks.java | 20 +++----
.../theta/ThetaUpdateSpeedProfile.java | 1 -
.../concurrent/ConcurrentThetaAccuracyProfile.java | 1 -
.../ConcurrentThetaMultithreadedSpeedProfile.java | 2 -
.../tuple/AodSketchUpdateSpeedProfile.java | 1 -
.../uniquecount/BaseMergeSpeedProfile2.java | 1 -
.../KllFloatsSketchRankGaussianAccuracyJob.conf | 2 +-
.../resources/quantiles/KllSketchAccuracyJob.conf | 6 +-
.../resources/quantiles/KllSketchSizeSpeedJob.conf | 4 +-
tools/SketchesCheckstyle.xml | 1 +
47 files changed, 184 insertions(+), 171 deletions(-)
diff --git a/src/main/java/org/apache/datasketches/MonotonicPoints.java b/src/main/java/org/apache/datasketches/MonotonicPoints.java
index bb4205d..488e1d0 100644
--- a/src/main/java/org/apache/datasketches/MonotonicPoints.java
+++ b/src/main/java/org/apache/datasketches/MonotonicPoints.java
@@ -142,7 +142,7 @@ public class MonotonicPoints {
* This is not a simple linear function due to points that may be skipped in the low range.
* @param lgStart Log2 of the starting value
* @param lgEnd Log2 of the ending value
- * @param ppo the number of logrithmically evenly spaced points per octave.
+ * @param ppo the number of logarithmically evenly spaced points per octave.
* @return the actual number of plotting points between lgStart and lgEnd.
*/
public static final int countPoints(final int lgStart, final int lgEnd, final int ppo) {
diff --git a/src/main/java/org/apache/datasketches/SpacedPoints.java b/src/main/java/org/apache/datasketches/SpacedPoints.java
index 1e0aa30..2bbdc33 100644
--- a/src/main/java/org/apache/datasketches/SpacedPoints.java
+++ b/src/main/java/org/apache/datasketches/SpacedPoints.java
@@ -159,8 +159,5 @@ public class SpacedPoints {
return arr;
}
-
-
-
static void println(final Object o) { System.out.println(o.toString()); }
}
diff --git a/src/main/java/org/apache/datasketches/characterization/quantiles/ProfileUtil.java b/src/main/java/org/apache/datasketches/characterization/ProfileUtil.java
similarity index 98%
rename from src/main/java/org/apache/datasketches/characterization/quantiles/ProfileUtil.java
rename to src/main/java/org/apache/datasketches/characterization/ProfileUtil.java
index e5b531c..c99fe25 100644
--- a/src/main/java/org/apache/datasketches/characterization/quantiles/ProfileUtil.java
+++ b/src/main/java/org/apache/datasketches/characterization/ProfileUtil.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.datasketches.characterization.quantiles;
+package org.apache.datasketches.characterization;
import static java.lang.Math.ceil;
import static java.lang.Math.max;
@@ -25,7 +25,6 @@ import static org.apache.datasketches.Util.ceilingPowerOfBdouble;
import static org.apache.datasketches.Util.logB;
import static org.apache.datasketches.Util.pwrLawNextDouble;
-
/**
* @author Lee Rhodes
*/
diff --git a/src/main/java/org/apache/datasketches/characterization/Shuffle.java b/src/main/java/org/apache/datasketches/characterization/Shuffle.java
index d0cdef9..340b02e 100644
--- a/src/main/java/org/apache/datasketches/characterization/Shuffle.java
+++ b/src/main/java/org/apache/datasketches/characterization/Shuffle.java
@@ -24,7 +24,7 @@ import java.util.Random;
/**
* @author Lee Rhodes
*/
-public class Shuffle {
+public final class Shuffle {
private static final Random rand = new Random();
/**
diff --git a/src/main/java/org/apache/datasketches/characterization/cpc/CpcSerDeProfile.java b/src/main/java/org/apache/datasketches/characterization/cpc/CpcSerDeProfile.java
index a6b8c14..b225994 100644
--- a/src/main/java/org/apache/datasketches/characterization/cpc/CpcSerDeProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/cpc/CpcSerDeProfile.java
@@ -33,7 +33,6 @@ public class CpcSerDeProfile extends BaseSerDeProfile {
sketch = new CpcSketch(lgK);
}
-
@Override
public void doTrial(final long[] stats, final int uPerTrial) {
sketch.reset(); // reuse the same sketch
diff --git a/src/main/java/org/apache/datasketches/characterization/fdt/FdtAccuracyProfile.java b/src/main/java/org/apache/datasketches/characterization/fdt/FdtAccuracyProfile.java
index daf1eba..36eabbc 100644
--- a/src/main/java/org/apache/datasketches/characterization/fdt/FdtAccuracyProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/fdt/FdtAccuracyProfile.java
@@ -257,8 +257,6 @@ public class FdtAccuracyProfile implements JobProfile {
return q / u - 1.0;
}
-
-
class MyComparator implements Comparator<AccuracyStats> {
@Override
public int compare(final AccuracyStats o1, final AccuracyStats o2) {
diff --git a/src/main/java/org/apache/datasketches/characterization/hash/HashBytesSpeedProfile.java b/src/main/java/org/apache/datasketches/characterization/hash/HashBytesSpeedProfile.java
index 03a58a4..6ab9152 100644
--- a/src/main/java/org/apache/datasketches/characterization/hash/HashBytesSpeedProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/hash/HashBytesSpeedProfile.java
@@ -86,7 +86,6 @@ public class HashBytesSpeedProfile extends BaseHashSpeedProfile {
@Override
public String getRow() {
final double trialsBytes = trials * x;
-
final double lgBytesX = Math.log(x) / LN2;
final double total_mS = sumTrials_nS / 1e6;
final double avgBytesFill_nS = sumTrialsFill_nS / trialsBytes;
@@ -170,7 +169,6 @@ public class HashBytesSpeedProfile extends BaseHashSpeedProfile {
vIn = myVin;
}
- @SuppressWarnings("restriction")
private static final long readMem(final WritableMemory wmem) {
long sumInput = 0;
long rem = wmem.getCapacity();
diff --git a/src/main/java/org/apache/datasketches/characterization/hll/HllConfidenceIntervalInverseProfile.java b/src/main/java/org/apache/datasketches/characterization/hll/HllConfidenceIntervalInverseProfile.java
index 341bc13..6f9945a 100644
--- a/src/main/java/org/apache/datasketches/characterization/hll/HllConfidenceIntervalInverseProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/hll/HllConfidenceIntervalInverseProfile.java
@@ -38,7 +38,6 @@ import org.apache.datasketches.quantiles.DoublesSketch;
import org.apache.datasketches.quantiles.DoublesSketchBuilder;
import org.apache.datasketches.quantiles.UpdateDoublesSketch;
-
/**
* @author Lee Rhodes
*/
diff --git a/src/main/java/org/apache/datasketches/characterization/hll/HllMergeSpeedProfile.java b/src/main/java/org/apache/datasketches/characterization/hll/HllMergeSpeedProfile.java
index f726cb4..425d6fc 100644
--- a/src/main/java/org/apache/datasketches/characterization/hll/HllMergeSpeedProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/hll/HllMergeSpeedProfile.java
@@ -73,7 +73,6 @@ public class HllMergeSpeedProfile extends BaseMergeSpeedProfile {
return sk;
}
-
@Override
public void doTrial(final Stats stats, final int lgK, final int lgDeltaU) {
//final int U = 1 << (lgK + lgDeltaU);
diff --git a/src/main/java/org/apache/datasketches/characterization/quantiles/KllDoublesSketchRankGaussianAccuracyProfile.java b/src/main/java/org/apache/datasketches/characterization/kll/KllDoublesSketchRankGaussianAccuracyProfile.java
similarity index 99%
rename from src/main/java/org/apache/datasketches/characterization/quantiles/KllDoublesSketchRankGaussianAccuracyProfile.java
rename to src/main/java/org/apache/datasketches/characterization/kll/KllDoublesSketchRankGaussianAccuracyProfile.java
index 3c53e94..d76e929 100644
--- a/src/main/java/org/apache/datasketches/characterization/quantiles/KllDoublesSketchRankGaussianAccuracyProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/kll/KllDoublesSketchRankGaussianAccuracyProfile.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.datasketches.characterization.quantiles;
+package org.apache.datasketches.characterization.kll;
import static java.lang.Math.round;
import static org.apache.datasketches.GaussianRanks.GAUSSIANS_3SD;
diff --git a/src/main/java/org/apache/datasketches/characterization/quantiles/KllFloatsSketchRankGaussianAccuracyProfile.java b/src/main/java/org/apache/datasketches/characterization/kll/KllFloatsSketchRankGaussianAccuracyProfile.java
similarity index 97%
rename from src/main/java/org/apache/datasketches/characterization/quantiles/KllFloatsSketchRankGaussianAccuracyProfile.java
rename to src/main/java/org/apache/datasketches/characterization/kll/KllFloatsSketchRankGaussianAccuracyProfile.java
index 89454f9..b0e02fd 100644
--- a/src/main/java/org/apache/datasketches/characterization/quantiles/KllFloatsSketchRankGaussianAccuracyProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/kll/KllFloatsSketchRankGaussianAccuracyProfile.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.datasketches.characterization.quantiles;
+package org.apache.datasketches.characterization.kll;
import static java.lang.Math.round;
import static org.apache.datasketches.GaussianRanks.GAUSSIANS_3SD;
@@ -35,7 +35,6 @@ import org.apache.datasketches.quantiles.DoublesSketch;
import org.apache.datasketches.quantiles.DoublesSketchBuilder;
import org.apache.datasketches.quantiles.UpdateDoublesSketch;
-
/**
* @author Lee Rhodes
*/
@@ -48,7 +47,7 @@ public class KllFloatsSketchRankGaussianAccuracyProfile implements JobProfile {
private int lgMin;
private int lgMax;
private int lgDelta;
- private int ppo; //not currently used
+ private int ppo; //not used for rank accuracy
private int numTrials; //num of Trials per plotPoint
private int errorSkLgK; //size of the error quantiles sketches
@@ -169,7 +168,8 @@ public class KllFloatsSketchRankGaussianAccuracyProfile implements JobProfile {
job.printfData(sFmt, (Object[])columnLabels);
//build the stream
- //the values themselves reflect their integer ranks starting with 1 (except for LT)
+ //Assuming LE, the values/n are their ranks.
+ //Assuming LT, the (values - 1)/n are their ranks.
stream = new float[streamLength];
for (int sl = 1; sl <= streamLength; sl++) { stream[sl - 1] = sl; } //1 to SL
diff --git a/src/main/java/org/apache/datasketches/characterization/quantiles/KllFloatsSketchSpeedProfile.java b/src/main/java/org/apache/datasketches/characterization/kll/KllFloatsSketchSpeedProfile.java
similarity index 92%
rename from src/main/java/org/apache/datasketches/characterization/quantiles/KllFloatsSketchSpeedProfile.java
rename to src/main/java/org/apache/datasketches/characterization/kll/KllFloatsSketchSpeedProfile.java
index 5bb4387..bbb8dc9 100644
--- a/src/main/java/org/apache/datasketches/characterization/quantiles/KllFloatsSketchSpeedProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/kll/KllFloatsSketchSpeedProfile.java
@@ -17,12 +17,13 @@
* under the License.
*/
-package org.apache.datasketches.characterization.quantiles;
+package org.apache.datasketches.characterization.kll;
import java.util.Arrays;
import java.util.Random;
import org.apache.datasketches.Properties;
+import org.apache.datasketches.characterization.quantiles.BaseQuantilesSpeedProfile;
import org.apache.datasketches.kll.KllFloatsSketch;
import org.apache.datasketches.memory.Memory;
@@ -47,13 +48,13 @@ public class KllFloatsSketchSpeedProfile extends BaseQuantilesSpeedProfile {
long serializedSizeBytes;
@Override
- void configure(final int k, final int numQueryValues, final Properties properties) {
+ public void configure(final int k, final int numQueryValues, final Properties properties) {
this.k = k;
this.numQueryValues = numQueryValues;
}
@Override
- void prepareTrial(final int streamLength) {
+ public void prepareTrial(final int streamLength) {
// prepare input data
inputValues = new float[streamLength];
for (int i = 0; i < streamLength; i++) {
@@ -73,7 +74,7 @@ public class KllFloatsSketchSpeedProfile extends BaseQuantilesSpeedProfile {
}
@Override
- void doTrial() {
+ public void doTrial() {
final long startBuild = System.nanoTime();
final KllFloatsSketch sketch = KllFloatsSketch.newHeapInstance(k);
//final KllFloatsSketch sketch = new KllFloatsSketch(k);
@@ -129,12 +130,12 @@ public class KllFloatsSketchSpeedProfile extends BaseQuantilesSpeedProfile {
}
@Override
- String getHeader() {
+ public String getHeader() {
return "Stream\tTrials\tBuild\tUpdate\tQuant\tQuants\tRank\tCDF\tSer\tDeser\tItems\tstatsSize";
}
@Override
- String getStats(final int streamLength, final int numTrials, final int numQueryValues) {
+ public String getStats(final int streamLength, final int numTrials, final int numQueryValues) {
return String.format("%d\t%d\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\t%d\t%d",
streamLength,
numTrials,
diff --git a/src/main/java/org/apache/datasketches/characterization/quantiles/KllSketchAccuracyProfile.java b/src/main/java/org/apache/datasketches/characterization/kll/KllSketchAccuracyProfile.java
similarity index 95%
rename from src/main/java/org/apache/datasketches/characterization/quantiles/KllSketchAccuracyProfile.java
rename to src/main/java/org/apache/datasketches/characterization/kll/KllSketchAccuracyProfile.java
index 6e2061f..337bc9f 100644
--- a/src/main/java/org/apache/datasketches/characterization/quantiles/KllSketchAccuracyProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/kll/KllSketchAccuracyProfile.java
@@ -17,11 +17,12 @@
* under the License.
*/
-package org.apache.datasketches.characterization.quantiles;
+package org.apache.datasketches.characterization.kll;
import static org.apache.datasketches.characterization.Shuffle.shuffle;
import org.apache.datasketches.Properties;
+import org.apache.datasketches.characterization.quantiles.BaseQuantilesAccuracyProfile;
import org.apache.datasketches.kll.KllDoublesSketch;
import org.apache.datasketches.kll.KllFloatsSketch;
import org.apache.datasketches.memory.DefaultMemoryRequestServer;
@@ -49,7 +50,7 @@ public class KllSketchAccuracyProfile extends BaseQuantilesAccuracyProfile {
KllFloatsSketch fsk = null;
@Override
- void configure(final Properties props) {
+ public void configure(final Properties props) {
k = Integer.parseInt(props.mustGet("K"));
useBulk = Boolean.parseBoolean(props.mustGet("useBulk"));
direct = Boolean.parseBoolean(props.mustGet("direct"));
@@ -78,7 +79,7 @@ public class KllSketchAccuracyProfile extends BaseQuantilesAccuracyProfile {
}
@Override
- void prepareTrial(final int streamLength) {
+ public void prepareTrial(final int streamLength) {
// prepare input data that will be permuted
if (useDouble) {
inputDoubleValues = new double[streamLength];
@@ -108,7 +109,7 @@ public class KllSketchAccuracyProfile extends BaseQuantilesAccuracyProfile {
}
@Override
- double doTrial() {
+ public double doTrial() {
double maxRankError = 0;
if (useDouble) {
shuffle(inputDoubleValues);
diff --git a/src/main/java/org/apache/datasketches/characterization/quantiles/KllSketchSizeSpeedProfile.java b/src/main/java/org/apache/datasketches/characterization/kll/KllSketchSizeSpeedProfile.java
similarity index 70%
rename from src/main/java/org/apache/datasketches/characterization/quantiles/KllSketchSizeSpeedProfile.java
rename to src/main/java/org/apache/datasketches/characterization/kll/KllSketchSizeSpeedProfile.java
index 370c0d8..129bfc5 100644
--- a/src/main/java/org/apache/datasketches/characterization/quantiles/KllSketchSizeSpeedProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/kll/KllSketchSizeSpeedProfile.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.datasketches.characterization.quantiles;
+package org.apache.datasketches.characterization.kll;
import static java.lang.Math.log;
import static java.lang.Math.pow;
@@ -26,13 +26,16 @@ import static org.apache.datasketches.Util.pwr2LawNext;
import org.apache.datasketches.Job;
import org.apache.datasketches.JobProfile;
import org.apache.datasketches.Properties;
+import org.apache.datasketches.kll.KllDoublesSketch;
import org.apache.datasketches.kll.KllFloatsSketch;
-
+import org.apache.datasketches.memory.DefaultMemoryRequestServer;
+import org.apache.datasketches.memory.WritableMemory;
/**
* @author Lee Rhodes
*/
public class KllSketchSizeSpeedProfile implements JobProfile {
+ private static final DefaultMemoryRequestServer memReqSvr = new DefaultMemoryRequestServer();
private Job job;
private Properties prop;
@@ -41,6 +44,7 @@ public class KllSketchSizeSpeedProfile implements JobProfile {
private int lgMaxT;
private int lgMinBpSL;
private int lgMaxBpSL;
+ private String type;
//For computing the different stream lengths
private int lgMinSL;
private int lgMaxSL;
@@ -49,11 +53,13 @@ public class KllSketchSizeSpeedProfile implements JobProfile {
private double slope;
//Target sketch configuration & error analysis
- private int kllK;
+ private int k;
+ private boolean useDouble = false;
+ private boolean direct = false;
//DERIVED & GLOBALS
- private KllFloatsSketch kllSk;
-
+ private KllDoublesSketch dsk = null;
+ private KllFloatsSketch fsk = null;
private final String[] columnLabels = {"PP", "SL", "Trials", "KllBytes", "Kll nS" };
private final String sFmt = "%2s\t%2s\t%6s\t%8s\t%4s\n";
@@ -71,16 +77,33 @@ public class KllSketchSizeSpeedProfile implements JobProfile {
ppoSL = Integer.parseInt(prop.mustGet("PpoSL"));
//Target sketch config
- kllK = Integer.parseInt(prop.mustGet("KllK"));
+ k = Integer.parseInt(prop.mustGet("KllK"));
+ type = prop.mustGet("type");
+ if (type.equalsIgnoreCase("double")) { useDouble = true; }
+ direct = Boolean.parseBoolean(prop.mustGet("direct"));
}
void configureCommon() {
slope = (double) (lgMaxT - lgMinT) / (lgMinBpSL - lgMaxBpSL);
+
}
void configureSketch() {
- kllSk = KllFloatsSketch.newHeapInstance(kllK);
- // kllSk = new KllFloatsSketch(kllK);
+ if (useDouble) {
+ if (direct) {
+ final WritableMemory dstMem = WritableMemory.allocate(10000);
+ dsk = KllDoublesSketch.newDirectInstance(k, dstMem, memReqSvr);
+ } else { //heap
+ dsk = KllDoublesSketch.newHeapInstance(k);
+ }
+ } else { //useFloat
+ if (direct) {
+ final WritableMemory dstMem = WritableMemory.allocate(10000);
+ fsk = KllFloatsSketch.newDirectInstance(k, dstMem, memReqSvr);
+ } else { //heap
+ fsk = KllFloatsSketch.newHeapInstance(k);
+ }
+ }
}
//JobProfile interface
@@ -121,7 +144,7 @@ public class KllSketchSizeSpeedProfile implements JobProfile {
sumUpdateTimePerItem_nS += doTrial(nextSL);
}
final double meanUpdateTimePerItem_nS = sumUpdateTimePerItem_nS / trials;
- final int bytes = kllSk.getSerializedSizeBytes();
+ final int bytes = useDouble ? dsk.getSerializedSizeBytes() : fsk.getSerializedSizeBytes();
job.printf(dFmt, pp, nextSL, trials, bytes, meanUpdateTimePerItem_nS);
pp++;
}
@@ -133,15 +156,26 @@ public class KllSketchSizeSpeedProfile implements JobProfile {
* @return the average update time per item for this trial
*/
private double doTrial(final int streamLen) {
- kllSk = KllFloatsSketch.newHeapInstance(kllK);
- //kllSk = new KllFloatsSketch(kllK);
- final long startUpdateTime_nS = System.nanoTime();
+ if (useDouble) {
+ dsk.reset();
+ final long startUpdateTime_nS = System.nanoTime();
- for (int i = 0; i < streamLen; i++) {
- kllSk.update(i);
+ for (int i = 0; i < streamLen; i++) {
+ dsk.update(i);
+ }
+ final long updateTime_nS = System.nanoTime() - startUpdateTime_nS;
+ return (double) updateTime_nS / streamLen;
+ }
+ else { //use Float
+ fsk.reset();
+ final long startUpdateTime_nS = System.nanoTime();
+
+ for (int i = 0; i < streamLen; i++) {
+ fsk.update(i);
+ }
+ final long updateTime_nS = System.nanoTime() - startUpdateTime_nS;
+ return (double) updateTime_nS / streamLen;
}
- final long updateTime_nS = System.nanoTime() - startUpdateTime_nS;
- return (double) updateTime_nS / streamLen;
}
/**
diff --git a/src/main/java/org/apache/datasketches/characterization/kll/package-info.java b/src/main/java/org/apache/datasketches/characterization/kll/package-info.java
new file mode 100644
index 0000000..cbcc5f6
--- /dev/null
+++ b/src/main/java/org/apache/datasketches/characterization/kll/package-info.java
@@ -0,0 +1 @@
+package org.apache.datasketches.characterization.kll;
diff --git a/src/main/java/org/apache/datasketches/characterization/memory/BaseSpeedProfile.java b/src/main/java/org/apache/datasketches/characterization/memory/BaseSpeedProfile.java
index b795c92..3e3df81 100644
--- a/src/main/java/org/apache/datasketches/characterization/memory/BaseSpeedProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/memory/BaseSpeedProfile.java
@@ -161,5 +161,4 @@ static class Point {
return (int) pow(2.0, lgTrials);
}
-
}
diff --git a/src/main/java/org/apache/datasketches/characterization/memory/HeapUtf8SpeedProfile.java b/src/main/java/org/apache/datasketches/characterization/memory/HeapUtf8SpeedProfile.java
index f585ddd..ea9d5b7 100644
--- a/src/main/java/org/apache/datasketches/characterization/memory/HeapUtf8SpeedProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/memory/HeapUtf8SpeedProfile.java
@@ -92,7 +92,4 @@ public class HeapUtf8SpeedProfile extends BaseUtf8SpeedProfile {
void close() {
}
-
-
-
}
diff --git a/src/main/java/org/apache/datasketches/characterization/memory/MemoryDirectSpeedProfile.java b/src/main/java/org/apache/datasketches/characterization/memory/MemoryDirectSpeedProfile.java
index 5fed9c2..8d46858 100644
--- a/src/main/java/org/apache/datasketches/characterization/memory/MemoryDirectSpeedProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/memory/MemoryDirectSpeedProfile.java
@@ -42,7 +42,6 @@ public class MemoryDirectSpeedProfile extends BaseSpeedProfile {
wh.close();
}
-
@Override
long doTrial(final boolean read) {
final long checkSum = (arrLongs * (arrLongs - 1L)) / 2L;
@@ -67,5 +66,4 @@ public class MemoryDirectSpeedProfile extends BaseSpeedProfile {
return stopTime_nS - startTime_nS;
}
-
}
diff --git a/src/main/java/org/apache/datasketches/characterization/memory/UnsafeDirectSpeedProfile.java b/src/main/java/org/apache/datasketches/characterization/memory/UnsafeDirectSpeedProfile.java
index f77711c..945b4b7 100644
--- a/src/main/java/org/apache/datasketches/characterization/memory/UnsafeDirectSpeedProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/memory/UnsafeDirectSpeedProfile.java
@@ -24,7 +24,6 @@ import static org.apache.datasketches.memory.UnsafeUtil.unsafe;
/**
* @author Lee Rhodes
*/
-@SuppressWarnings("restriction")
public class UnsafeDirectSpeedProfile extends BaseSpeedProfile {
int arrLongs;
long address;
diff --git a/src/main/java/org/apache/datasketches/characterization/quantiles/BaseQuantilesAccuracyProfile.java b/src/main/java/org/apache/datasketches/characterization/quantiles/BaseQuantilesAccuracyProfile.java
index da2284c..ac9a4d1 100644
--- a/src/main/java/org/apache/datasketches/characterization/quantiles/BaseQuantilesAccuracyProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/quantiles/BaseQuantilesAccuracyProfile.java
@@ -77,10 +77,10 @@ public abstract class BaseQuantilesAccuracyProfile implements JobProfile {
}
}
- abstract void configure(Properties props);
+ public abstract void configure(Properties props);
- abstract void prepareTrial(int streamLength);
+ public abstract void prepareTrial(int streamLength);
- abstract double doTrial();
+ public abstract double doTrial();
}
diff --git a/src/main/java/org/apache/datasketches/characterization/quantiles/BaseQuantilesSpeedProfile.java b/src/main/java/org/apache/datasketches/characterization/quantiles/BaseQuantilesSpeedProfile.java
index 8934154..52629ab 100644
--- a/src/main/java/org/apache/datasketches/characterization/quantiles/BaseQuantilesSpeedProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/quantiles/BaseQuantilesSpeedProfile.java
@@ -73,15 +73,15 @@ public abstract class BaseQuantilesSpeedProfile implements JobProfile {
}
}
- abstract void configure(int k, int numQueryValues, Properties properties);
+ public abstract void configure(int k, int numQueryValues, Properties properties);
- abstract void prepareTrial(int streamLength);
+ public abstract void prepareTrial(int streamLength);
- abstract void doTrial();
+ public abstract void doTrial();
- abstract String getHeader();
+ public abstract String getHeader();
- abstract String getStats(int streamLength, int numTrials, int numQueryValues);
+ public abstract String getStats(int streamLength, int numTrials, int numQueryValues);
private static int getNumTrials(final int x, final int lgMinX, final int lgMaxX,
final int lgMinTrials, final int lgMaxTrials) {
diff --git a/src/main/java/org/apache/datasketches/characterization/quantiles/DoublesSketchAccuracyProfile.java b/src/main/java/org/apache/datasketches/characterization/quantiles/DoublesSketchAccuracyProfile.java
index 733a4d4..e56ecbb 100644
--- a/src/main/java/org/apache/datasketches/characterization/quantiles/DoublesSketchAccuracyProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/quantiles/DoublesSketchAccuracyProfile.java
@@ -35,7 +35,7 @@ public class DoublesSketchAccuracyProfile extends BaseQuantilesAccuracyProfile {
private boolean useBulk;
@Override
- void configure(final Properties props) {
+ public void configure(final Properties props) {
final int lgK = Integer.parseInt(props.mustGet("lgK"));
builder = DoublesSketch.builder().setK(1 << lgK);
useCompact = Boolean.parseBoolean(props.mustGet("useCompact"));
@@ -43,7 +43,7 @@ public class DoublesSketchAccuracyProfile extends BaseQuantilesAccuracyProfile {
}
@Override
- void prepareTrial(final int streamLength) {
+ public void prepareTrial(final int streamLength) {
// prepare input data that will be permuted
inputValues = new double[streamLength];
for (int i = 0; i < streamLength; i++) {
@@ -59,7 +59,7 @@ public class DoublesSketchAccuracyProfile extends BaseQuantilesAccuracyProfile {
}
@Override
- double doTrial() {
+ public double doTrial() {
shuffle(inputValues);
// build sketch
diff --git a/src/main/java/org/apache/datasketches/characterization/quantiles/DoublesSketchSpeedProfile.java b/src/main/java/org/apache/datasketches/characterization/quantiles/DoublesSketchSpeedProfile.java
index 709ead8..d45c0fa 100644
--- a/src/main/java/org/apache/datasketches/characterization/quantiles/DoublesSketchSpeedProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/quantiles/DoublesSketchSpeedProfile.java
@@ -59,7 +59,7 @@ public class DoublesSketchSpeedProfile extends BaseQuantilesSpeedProfile {
long numRetainedItems;
@Override
- void configure(final int k, final int numQueryValues, final Properties properties) {
+ public void configure(final int k, final int numQueryValues, final Properties properties) {
this.k = k;
this.numQueryValues = numQueryValues;
useDirect = Boolean.parseBoolean(properties.mustGet("useDirect"));
@@ -67,7 +67,7 @@ public class DoublesSketchSpeedProfile extends BaseQuantilesSpeedProfile {
}
@Override
- void prepareTrial(final int streamLength) {
+ public void prepareTrial(final int streamLength) {
// prepare input data
inputValues = new double[streamLength];
for (int i = 0; i < streamLength; i++) {
@@ -90,7 +90,7 @@ public class DoublesSketchSpeedProfile extends BaseQuantilesSpeedProfile {
@SuppressWarnings("unused")
@Override
- void doTrial() {
+ public void doTrial() {
DoublesSketchAccuracyProfile.shuffle(inputValues);
final long startBuild = System.nanoTime();
@@ -166,7 +166,7 @@ public class DoublesSketchSpeedProfile extends BaseQuantilesSpeedProfile {
final long startGetRank = System.nanoTime();
for (final double value: queryValues) {
- //compactSketch.getRank(value); //TODO this was not released yet
+ //compactSketch.getRank(value);
final double estRank = compactSketch.getCDF(new double[] {value})[0];
}
final long stopGetRank = System.nanoTime();
@@ -195,13 +195,13 @@ public class DoublesSketchSpeedProfile extends BaseQuantilesSpeedProfile {
}
@Override
- String getHeader() {
+ public String getHeader() {
return "Stream\tTrials\tBuild\tUpdate\tQuant\tCDF\tRank\tSer\tDeser\tstatsSize"
+ "\tCompact\tQuant\tCDF\tRank\tSer\tDeser\tstatsSize\tItems";
}
@Override
- String getStats(final int streamLength, final int numTrials, final int numQueryValues) {
+ public String getStats(final int streamLength, final int numTrials, final int numQueryValues) {
return String.format("%d\t%d\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\t%d"
+ "\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\t%d\t%d",
streamLength,
diff --git a/src/main/java/org/apache/datasketches/characterization/quantiles/DruidAppHistStreamAProfile.java b/src/main/java/org/apache/datasketches/characterization/quantiles/DruidAppHistStreamAProfile.java
index 4d51684..ed846f3 100644
--- a/src/main/java/org/apache/datasketches/characterization/quantiles/DruidAppHistStreamAProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/quantiles/DruidAppHistStreamAProfile.java
@@ -19,7 +19,7 @@
package org.apache.datasketches.characterization.quantiles;
-import static org.apache.datasketches.characterization.quantiles.ProfileUtil.buildSplitPointsArr;
+import static org.apache.datasketches.characterization.ProfileUtil.buildSplitPointsArr;
import java.io.File;
diff --git a/src/main/java/org/apache/datasketches/characterization/quantiles/ExactStreamAProfile.java b/src/main/java/org/apache/datasketches/characterization/quantiles/ExactStreamAProfile.java
index d8bc862..56dec32 100644
--- a/src/main/java/org/apache/datasketches/characterization/quantiles/ExactStreamAProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/quantiles/ExactStreamAProfile.java
@@ -19,8 +19,8 @@
package org.apache.datasketches.characterization.quantiles;
-import static org.apache.datasketches.characterization.quantiles.ProfileUtil.buildSplitPointsArr;
-import static org.apache.datasketches.characterization.quantiles.ProfileUtil.checkMonotonic;
+import static org.apache.datasketches.characterization.ProfileUtil.buildSplitPointsArr;
+import static org.apache.datasketches.characterization.ProfileUtil.checkMonotonic;
import java.io.File;
import java.util.Arrays;
diff --git a/src/main/java/org/apache/datasketches/characterization/quantiles/ItemsSketchAccuracyProfile.java b/src/main/java/org/apache/datasketches/characterization/quantiles/ItemsSketchAccuracyProfile.java
index 1090ff1..c877929 100644
--- a/src/main/java/org/apache/datasketches/characterization/quantiles/ItemsSketchAccuracyProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/quantiles/ItemsSketchAccuracyProfile.java
@@ -33,12 +33,12 @@ public class ItemsSketchAccuracyProfile extends BaseQuantilesAccuracyProfile {
private boolean useBulk;
@Override
- void configure(final Properties props) {
+ public void configure(final Properties props) {
lgK = Integer.parseInt(props.mustGet("lgK"));
}
@Override
- void prepareTrial(final int streamLength) {
+ public void prepareTrial(final int streamLength) {
// prepare input data that will be permuted
inputValues = new int[streamLength];
for (int i = 0; i < streamLength; i++) {
@@ -54,7 +54,7 @@ public class ItemsSketchAccuracyProfile extends BaseQuantilesAccuracyProfile {
}
@Override
- double doTrial() {
+ public double doTrial() {
shuffle(inputValues);
// build sketch
diff --git a/src/main/java/org/apache/datasketches/characterization/quantiles/ItemsSketchSpeedProfile.java b/src/main/java/org/apache/datasketches/characterization/quantiles/ItemsSketchSpeedProfile.java
index fd367f2..7df44c2 100644
--- a/src/main/java/org/apache/datasketches/characterization/quantiles/ItemsSketchSpeedProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/quantiles/ItemsSketchSpeedProfile.java
@@ -50,13 +50,13 @@ public class ItemsSketchSpeedProfile extends BaseQuantilesSpeedProfile {
long serializedSizeBytes;
@Override
- void configure(final int k, final int numQueryValues, final Properties properties) {
+ public void configure(final int k, final int numQueryValues, final Properties properties) {
this.k = k;
this.numQueryValues = numQueryValues;
}
@Override
- void prepareTrial(final int streamLength) {
+ public void prepareTrial(final int streamLength) {
// prepare input data
inputValues = new double[streamLength];
for (int i = 0; i < streamLength; i++) {
@@ -73,7 +73,7 @@ public class ItemsSketchSpeedProfile extends BaseQuantilesSpeedProfile {
@SuppressWarnings("unused")
@Override
- void doTrial() {
+ public void doTrial() {
DoublesSketchAccuracyProfile.shuffle(inputValues);
final long startBuild = System.nanoTime();
@@ -124,12 +124,12 @@ public class ItemsSketchSpeedProfile extends BaseQuantilesSpeedProfile {
}
@Override
- String getHeader() {
+ public String getHeader() {
return "Stream\tTrials\tBuild\tUpdate\tQuant\tCDF\tRank\tSer\tDeser\tItems\tstatsSize";
}
@Override
- String getStats(final int streamLength, final int numTrials, final int numQueryValues) {
+ public String getStats(final int streamLength, final int numTrials, final int numQueryValues) {
return String.format("%d\t%d\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\t%d\t%d",
streamLength,
numTrials,
diff --git a/src/main/java/org/apache/datasketches/characterization/quantiles/MSketchStreamAProfile.java b/src/main/java/org/apache/datasketches/characterization/quantiles/MSketchStreamAProfile.java
index 7b7acc6..d3a33f2 100644
--- a/src/main/java/org/apache/datasketches/characterization/quantiles/MSketchStreamAProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/quantiles/MSketchStreamAProfile.java
@@ -142,7 +142,6 @@ public class MSketchStreamAProfile implements JobProfile {
//println(String.format("Pmf/Point_nSec:\t%10.3f", (double)pmfTime_nS / lenPMF));
}
-
/**
* Compute the ranks array.
* @param numRanks the number of evenly-spaced rank values including 0 and 1.0.
diff --git a/src/main/java/org/apache/datasketches/characterization/quantiles/QuantilesStreamAProfile.java b/src/main/java/org/apache/datasketches/characterization/quantiles/QuantilesStreamAProfile.java
index b428651..bc14073 100644
--- a/src/main/java/org/apache/datasketches/characterization/quantiles/QuantilesStreamAProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/quantiles/QuantilesStreamAProfile.java
@@ -20,7 +20,7 @@
package org.apache.datasketches.characterization.quantiles;
import static java.lang.Math.rint;
-import static org.apache.datasketches.characterization.quantiles.ProfileUtil.buildSplitPointsArr;
+import static org.apache.datasketches.characterization.ProfileUtil.buildSplitPointsArr;
import java.io.File;
diff --git a/src/main/java/org/apache/datasketches/characterization/quantiles/tdigest/TDigestSpeedProfile.java b/src/main/java/org/apache/datasketches/characterization/quantiles/tdigest/TDigestSpeedProfile.java
index cd84b8d..821fcd8 100644
--- a/src/main/java/org/apache/datasketches/characterization/quantiles/tdigest/TDigestSpeedProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/quantiles/tdigest/TDigestSpeedProfile.java
@@ -61,7 +61,6 @@ public class TDigestSpeedProfile extends QuantilesSpeedProfile {
resetStats();
}
-
@Override
void doTrial() {
gen.fillArray(inputValues);
@@ -160,15 +159,9 @@ public class TDigestSpeedProfile extends QuantilesSpeedProfile {
}
@Override
- public void shutdown() {
- // TODO Auto-generated method stub
-
- }
+ public void shutdown() { }
@Override
- public void cleanup() {
- // TODO Auto-generated method stub
-
- }
+ public void cleanup() { }
}
diff --git a/src/test/java/org/apache/datasketches/characterization/quantiles/FlipFlopStream.java b/src/main/java/org/apache/datasketches/characterization/req/FlipFlopStream.java
similarity index 86%
rename from src/test/java/org/apache/datasketches/characterization/quantiles/FlipFlopStream.java
rename to src/main/java/org/apache/datasketches/characterization/req/FlipFlopStream.java
index d526a52..48de600 100644
--- a/src/test/java/org/apache/datasketches/characterization/quantiles/FlipFlopStream.java
+++ b/src/main/java/org/apache/datasketches/characterization/req/FlipFlopStream.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.datasketches.characterization.quantiles;
+package org.apache.datasketches.characterization.req;
import org.testng.annotations.Test;
@@ -35,7 +35,7 @@ public class FlipFlopStream {
private int hi;
/**
- * Constuctor used by TestNG
+ * Constructor used by TestNG
*/
public FlipFlopStream() {}
@@ -44,7 +44,7 @@ public class FlipFlopStream {
* @param N the length of the sequence and size of the returned array.
* @param offset The lowest value in the sequence. Usually either 0 or 1.
*/
- public FlipFlopStream(int N, int offset) {
+ public FlipFlopStream(final int N, final int offset) {
arr = new float[N];
idx = 0;
v = offset;
@@ -60,7 +60,7 @@ public class FlipFlopStream {
* @param hiReps repetitions for the high range
* @param steps maximum number of steps for this sequence
*/
- public void flipFlop(int loReps, int hiReps, int steps) {
+ public void flipFlop(final int loReps, final int hiReps, int steps) {
int n = hi - lo + 1;
while (n > 0 && steps > 0) {
int i = loReps;
@@ -89,8 +89,8 @@ public class FlipFlopStream {
@Test
public void checkFlipFlop() {
- int N = 50;
- FlipFlopStream ffs = new FlipFlopStream(N, 1);
+ final int N = 50;
+ final FlipFlopStream ffs = new FlipFlopStream(N, 1);
ffs.flipFlop(1, 1, 20);
ffs.flipFlop(10, 1, 10);
ffs.flipFlop(1, 10, 10);
@@ -98,5 +98,5 @@ public class FlipFlopStream {
for (int i = 0; i < N; i++) { println(ffs.arr[i]); }
}
- static void println(Object o) { System.out.println(o.toString()); }
+ static void println(final Object o) { System.out.println(o.toString()); }
}
diff --git a/src/test/java/org/apache/datasketches/characterization/quantiles/ReqMergeSpeedProfile.java b/src/main/java/org/apache/datasketches/characterization/req/ReqMergeSpeedProfile.java
similarity index 88%
rename from src/test/java/org/apache/datasketches/characterization/quantiles/ReqMergeSpeedProfile.java
rename to src/main/java/org/apache/datasketches/characterization/req/ReqMergeSpeedProfile.java
index 1a01352..d9aa6df 100644
--- a/src/test/java/org/apache/datasketches/characterization/quantiles/ReqMergeSpeedProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/req/ReqMergeSpeedProfile.java
@@ -17,12 +17,13 @@
* under the License.
*/
-package org.apache.datasketches.characterization.quantiles;
+package org.apache.datasketches.characterization.req;
import java.lang.reflect.Array;
import java.util.Random;
import org.apache.datasketches.Properties;
+import org.apache.datasketches.characterization.quantiles.BaseQuantilesSpeedProfile;
import org.apache.datasketches.req.ReqSketch;
import org.apache.datasketches.req.ReqSketchBuilder;
@@ -40,7 +41,7 @@ public class ReqMergeSpeedProfile extends BaseQuantilesSpeedProfile {
long numRetainedItems;
@Override
- void configure(final int k, final int numQueryValues, final Properties properties) {
+ public void configure(final int k, final int numQueryValues, final Properties properties) {
this.numSketches = Integer.parseInt(properties.mustGet("numSketches"));
final boolean HRA = Boolean.parseBoolean(properties.mustGet("HRA"));
sketches = (ReqSketch[]) Array.newInstance(ReqSketch.class, numSketches);
@@ -48,7 +49,7 @@ public class ReqMergeSpeedProfile extends BaseQuantilesSpeedProfile {
}
@Override
- void prepareTrial(final int streamLength) {
+ public void prepareTrial(final int streamLength) {
// prepare input data
inputValues = new float[streamLength];
for (int i = 0; i < streamLength; i++) {
@@ -58,7 +59,7 @@ public class ReqMergeSpeedProfile extends BaseQuantilesSpeedProfile {
}
@Override
- void doTrial() {
+ public void doTrial() {
final long startBuild = System.nanoTime();
for (int i = 0; i < numSketches; i++) {
sketches[i] = sketchBuilder.build();
@@ -91,12 +92,12 @@ public class ReqMergeSpeedProfile extends BaseQuantilesSpeedProfile {
}
@Override
- String getHeader() {
+ public String getHeader() {
return "Stream\tTrials\tBuild\tUpdate\tMerge\tItems";
}
@Override
- String getStats(final int streamLength, final int numTrials, final int numQueryValues) {
+ public String getStats(final int streamLength, final int numTrials, final int numQueryValues) {
return String.format("%d\t%d\t%.1f\t%.1f\t%.1f\t%d",
streamLength,
numTrials,
diff --git a/src/test/java/org/apache/datasketches/characterization/quantiles/ReqSketchAccuracyProfile.java b/src/main/java/org/apache/datasketches/characterization/req/ReqSketchAccuracyProfile.java
similarity index 92%
rename from src/test/java/org/apache/datasketches/characterization/quantiles/ReqSketchAccuracyProfile.java
rename to src/main/java/org/apache/datasketches/characterization/req/ReqSketchAccuracyProfile.java
index 3a6f32e..df45e40 100644
--- a/src/test/java/org/apache/datasketches/characterization/quantiles/ReqSketchAccuracyProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/req/ReqSketchAccuracyProfile.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.datasketches.characterization.quantiles;
+package org.apache.datasketches.characterization.req;
import static java.lang.Math.round;
import static org.apache.datasketches.GaussianRanks.GAUSSIANS_3SD;
@@ -30,7 +30,7 @@ import org.apache.datasketches.JobProfile;
import org.apache.datasketches.MonotonicPoints;
import org.apache.datasketches.Properties;
import org.apache.datasketches.characterization.Shuffle;
-import org.apache.datasketches.characterization.quantiles.StreamMaker.Pattern;
+import org.apache.datasketches.characterization.req.StreamMaker.Pattern;
import org.apache.datasketches.hll.HllSketch;
import org.apache.datasketches.quantiles.DoublesSketch;
import org.apache.datasketches.quantiles.DoublesSketchBuilder;
@@ -144,7 +144,7 @@ public class ReqSketchAccuracyProfile implements JobProfile {
lgMax = Integer.parseInt(prop.mustGet("LgMax"));
lgDelta = Integer.parseInt(prop.mustGet("LgDelta"));
ppo = Integer.parseInt(prop.mustGet("PPO"));
- // Trials config (indep of sketch)
+ // Trials config (independent of sketch)
numTrials = 1 << Integer.parseInt(prop.mustGet("LgTrials"));
errQSkLgK = Integer.parseInt(prop.mustGet("ErrQSkLgK"));
errHllSkLgK = Integer.parseInt(prop.mustGet("ErrHllSkLgK"));
@@ -168,10 +168,10 @@ public class ReqSketchAccuracyProfile implements JobProfile {
MIN_K = Integer.parseInt(prop.mustGet("MIN_K"));
LAZY_COMPRESSION = Boolean.parseBoolean(prop.mustGet("LAZY_COMPRESSION"));
//criterion = InequalitySearch.valueOf(prop.mustGet("Criterion"));
- String reqDebugLevel = prop.get("ReqDebugLevel");
- String reqDebugFmt = prop.get("ReqDebugFmt");
+ final String reqDebugLevel = prop.get("ReqDebugLevel");
+ final String reqDebugFmt = prop.get("ReqDebugFmt");
if (reqDebugLevel != null) {
- int level = Integer.parseInt(reqDebugLevel);
+ final int level = Integer.parseInt(reqDebugLevel);
reqDebugImpl = new ReqDebugImpl(level, reqDebugFmt);
}
}
@@ -254,7 +254,8 @@ public class ReqSketchAccuracyProfile implements JobProfile {
endIdx = hra ? streamLength - 1 : subStreamLen - 1;
}
- //generates PP indices in [startIdx, endIdx] inclusive, inclusive // PV 2020-01-07: using double so that there's enough precision even for large stream lengths
+ //generates PP indices in [startIdx, endIdx] inclusive, inclusive
+ // PV 2020-01-07: using double so that there's enough precision even for large stream lengths
final double[] temp = evenlySpaced
? evenlySpaced(startIdx, endIdx, numPlotPoints)
: expSpaced(startIdx, endIdx, numPlotPoints, exponent, hra);
@@ -301,23 +302,23 @@ public class ReqSketchAccuracyProfile implements JobProfile {
rlb, rub, uErrCnt);
if (relPP > 0 && relPP < 1
- && (hra && relPP < metricsRankRange || !hra && relPP >= 1 - metricsRankRange)) {
- sumAddStdDev += errQ[4];
- numAddStdDev++;
+ && (hra && relPP < metricsRankRange || !hra && relPP >= 1 - metricsRankRange)) {
+ sumAddStdDev += errQ[4];
+ numAddStdDev++;
}
if (relPP > 0 && relPP < 1
- && (!hra && relPP < metricsRankRange || hra && relPP >= 1 - metricsRankRange)) {
+ && (!hra && relPP < metricsRankRange || hra && relPP >= 1 - metricsRankRange)) {
sumRelStdDev += errQ[4] / (hra ? 1 - relPP : relPP);
- numRelStdDev++;
+ numRelStdDev++;
}
errQSkArr[pp].reset(); //reset the errQSkArr for next streamLength
errHllSkArr[pp].reset(); //reset the errHllSkArr for next streamLength
}
- int serBytes = sk.getSerializationBytes();
+ final int serBytes = sk.getSerializationBytes();
// special metrics for capturing accuracy per byte
- double avgRelStdDevTimesSize = serBytes * sumRelStdDev / numRelStdDev;
- double avgAddStdDevTimesSize = serBytes * sumAddStdDev / numAddStdDev;
+ final double avgRelStdDevTimesSize = serBytes * sumRelStdDev / numRelStdDev;
+ final double avgAddStdDevTimesSize = serBytes * sumAddStdDev / numAddStdDev;
job.println(LS + "Avg. relative std. dev. times size: " + avgRelStdDevTimesSize);
job.println( "Avg. additive std. dev. times size: " + avgAddStdDevTimesSize);
diff --git a/src/test/java/org/apache/datasketches/characterization/quantiles/ReqSketchAccuracyProfile2.java b/src/main/java/org/apache/datasketches/characterization/req/ReqSketchAccuracyProfile2.java
similarity index 93%
rename from src/test/java/org/apache/datasketches/characterization/quantiles/ReqSketchAccuracyProfile2.java
rename to src/main/java/org/apache/datasketches/characterization/req/ReqSketchAccuracyProfile2.java
index 516fe47..d7ffc64 100644
--- a/src/test/java/org/apache/datasketches/characterization/quantiles/ReqSketchAccuracyProfile2.java
+++ b/src/main/java/org/apache/datasketches/characterization/req/ReqSketchAccuracyProfile2.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.datasketches.characterization.quantiles;
+package org.apache.datasketches.characterization.req;
import static org.apache.datasketches.GaussianRanks.GAUSSIANS_3SD;
import static org.apache.datasketches.Util.evenlySpacedFloats;
@@ -25,7 +25,7 @@ import static org.apache.datasketches.Util.evenlySpacedFloats;
import org.apache.datasketches.Job;
import org.apache.datasketches.JobProfile;
import org.apache.datasketches.Properties;
-import org.apache.datasketches.characterization.quantiles.StreamMaker.Pattern;
+import org.apache.datasketches.characterization.req.StreamMaker.Pattern;
import org.apache.datasketches.quantiles.DoublesSketch;
import org.apache.datasketches.quantiles.DoublesSketchBuilder;
import org.apache.datasketches.quantiles.UpdateDoublesSketch;
@@ -91,7 +91,7 @@ public class ReqSketchAccuracyProfile2 implements JobProfile {
//JobProfile interface
@Override
- public void start(Job job) {
+ public void start(final Job job) {
this.job = job;
prop = job.getProperties();
extractProperties();
@@ -131,10 +131,10 @@ public class ReqSketchAccuracyProfile2 implements JobProfile {
K = Integer.parseInt(prop.mustGet("K"));
hra = Boolean.parseBoolean(prop.mustGet("HRA"));
ltEq = Boolean.parseBoolean(prop.mustGet("LtEq"));
- String reqDebugLevel = prop.get("ReqDebugLevel");
- String reqDebugFmt = prop.get("ReqDebugFmt");
+ final String reqDebugLevel = prop.get("ReqDebugLevel");
+ final String reqDebugFmt = prop.get("ReqDebugFmt");
if (reqDebugLevel != null) {
- int level = Integer.parseInt(reqDebugLevel);
+ final int level = Integer.parseInt(reqDebugLevel);
reqDebugImpl = new ReqDebugImpl(level, reqDebugFmt);
}
}
@@ -150,7 +150,7 @@ public class ReqSketchAccuracyProfile2 implements JobProfile {
private void configureStream() {
N = 1 << lgSL;
streamMaker = new StreamMaker();
- float[] stream = streamMaker.makeStream(N, pattern, offset);
+ final float[] stream = streamMaker.makeStream(N, pattern, offset);
if (ltEq) {
trueRanks = new TrueFloatRanks(stream, true);
} else {
@@ -164,7 +164,7 @@ public class ReqSketchAccuracyProfile2 implements JobProfile {
sortedPPValues = new float[numPlotPoints];
final int[] sortedAbsRanks = trueRanks.getSortedAbsRanks();
final float[] sortedStream = trueRanks.getSortedStream();
- int minIdx = (int)Math.round((double)(N - 1) / numPlotPoints);
+ final int minIdx = (int)Math.round((double)(N - 1) / numPlotPoints);
final float[] temp = evenlySpacedFloats(minIdx, N - 1, numPlotPoints); //indices
for (int pp = 0; pp < numPlotPoints; pp++) {
@@ -186,7 +186,7 @@ public class ReqSketchAccuracyProfile2 implements JobProfile {
}
}
- private void doStreamLength(int streamLength) {
+ private void doStreamLength(final int streamLength) {
job.println(LS + "Stream Length: " + streamLength );
job.printfData(sFmt, (Object[])columnLabels);
@@ -226,7 +226,7 @@ public class ReqSketchAccuracyProfile2 implements JobProfile {
UpdateDoublesSketch qSk = errQSkArr[pp];
for (int idx = 0; idx < N; idx++) {
final double skRank = sk.getRank(sortedStream[idx]);
- double trueRank = (double)sortedAbsRanks[idx] / N;
+ final double trueRank = (double)sortedAbsRanks[idx] / N;
if (idx <= ppAbsIdx) {
final double rErr = skRank - trueRank;
qSk.update(rErr);
diff --git a/src/test/java/org/apache/datasketches/characterization/quantiles/ReqSketchLongSizeSpeedProfile.java b/src/main/java/org/apache/datasketches/characterization/req/ReqSketchLongSizeSpeedProfile.java
similarity index 98%
rename from src/test/java/org/apache/datasketches/characterization/quantiles/ReqSketchLongSizeSpeedProfile.java
rename to src/main/java/org/apache/datasketches/characterization/req/ReqSketchLongSizeSpeedProfile.java
index c85e606..7e9fad0 100644
--- a/src/test/java/org/apache/datasketches/characterization/quantiles/ReqSketchLongSizeSpeedProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/req/ReqSketchLongSizeSpeedProfile.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.datasketches.characterization.quantiles;
+package org.apache.datasketches.characterization.req;
import static java.lang.Math.log;
import static java.lang.Math.pow;
diff --git a/src/test/java/org/apache/datasketches/characterization/quantiles/ReqSketchSizeSpeedProfile.java b/src/main/java/org/apache/datasketches/characterization/req/ReqSketchSizeSpeedProfile.java
similarity index 97%
rename from src/test/java/org/apache/datasketches/characterization/quantiles/ReqSketchSizeSpeedProfile.java
rename to src/main/java/org/apache/datasketches/characterization/req/ReqSketchSizeSpeedProfile.java
index c50602e..ac3d1c4 100644
--- a/src/test/java/org/apache/datasketches/characterization/quantiles/ReqSketchSizeSpeedProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/req/ReqSketchSizeSpeedProfile.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.datasketches.characterization.quantiles;
+package org.apache.datasketches.characterization.req;
import static java.lang.Math.log;
import static java.lang.Math.pow;
@@ -93,7 +93,8 @@ public class ReqSketchSizeSpeedProfile implements JobProfile {
final ReqSketchBuilder bldr = ReqSketch.builder();
bldr.setK(reqK).setHighRankAccuracy(hra);
reqSk = bldr.build();
- //reqSk = new ReqSketch(reqK, hra, null, (byte)INIT_NUMBER_OF_SECTIONS, MIN_K, NOM_CAPACITY_MULTIPLIER, LAZY_COMPRESSION);
+ //reqSk = new ReqSketch(reqK, hra, null, (byte)INIT_NUMBER_OF_SECTIONS,
+ // MIN_K, NOM_CAPACITY_MULTIPLIER, LAZY_COMPRESSION);
reqSk.setLessThanOrEqual(ltEq);
}
diff --git a/src/test/java/org/apache/datasketches/characterization/quantiles/StreamMaker.java b/src/main/java/org/apache/datasketches/characterization/req/StreamMaker.java
similarity index 76%
rename from src/test/java/org/apache/datasketches/characterization/quantiles/StreamMaker.java
rename to src/main/java/org/apache/datasketches/characterization/req/StreamMaker.java
index 94e7866..01c4990 100644
--- a/src/test/java/org/apache/datasketches/characterization/quantiles/StreamMaker.java
+++ b/src/main/java/org/apache/datasketches/characterization/req/StreamMaker.java
@@ -17,15 +17,15 @@
* under the License.
*/
-package org.apache.datasketches.characterization.quantiles;
+package org.apache.datasketches.characterization.req;
-import static org.apache.datasketches.characterization.quantiles.StreamMaker.Pattern.FLIP_FLOP;
-import static org.apache.datasketches.characterization.quantiles.StreamMaker.Pattern.RANDOM;
-import static org.apache.datasketches.characterization.quantiles.StreamMaker.Pattern.REVERSED;
-import static org.apache.datasketches.characterization.quantiles.StreamMaker.Pattern.SORTED;
-import static org.apache.datasketches.characterization.quantiles.StreamMaker.Pattern.SQRT;
-import static org.apache.datasketches.characterization.quantiles.StreamMaker.Pattern.ZOOM_IN;
-import static org.apache.datasketches.characterization.quantiles.StreamMaker.Pattern.ZOOM_OUT;
+import static org.apache.datasketches.characterization.req.StreamMaker.Pattern.FLIP_FLOP;
+import static org.apache.datasketches.characterization.req.StreamMaker.Pattern.RANDOM;
+import static org.apache.datasketches.characterization.req.StreamMaker.Pattern.REVERSED;
+import static org.apache.datasketches.characterization.req.StreamMaker.Pattern.SORTED;
+import static org.apache.datasketches.characterization.req.StreamMaker.Pattern.SQRT;
+import static org.apache.datasketches.characterization.req.StreamMaker.Pattern.ZOOM_IN;
+import static org.apache.datasketches.characterization.req.StreamMaker.Pattern.ZOOM_OUT;
import org.apache.datasketches.characterization.Shuffle;
import org.testng.annotations.Test;
@@ -36,16 +36,18 @@ import org.testng.annotations.Test;
public class StreamMaker {
static final String LS = System.getProperty("line.separator");
static String TAB = "\t";
+
public enum Pattern { SORTED, REVERSED, ZOOM_IN, ZOOM_OUT, RANDOM, SQRT, FLIP_FLOP,
CLUSTERED, CLUSTERED_ZOOM_IN, ZOOM_IN_SQRT }
+
public float min = 0;
public float max = 0;
- public float[] makeStream(int n, Pattern pattern, int offset) {
+ public float[] makeStream(final int n, final Pattern pattern, final int offset) {
float[] arr = new float[n];
min = offset;
max = n - 1 + offset;
- switch(pattern) {
+ switch (pattern) {
case SORTED: {
for (int i = 0; i < n; i++) { arr[i] = i + offset; }
break;
@@ -75,7 +77,7 @@ public class StreamMaker {
}
case SQRT: {
int idx = 0;
- int t = (int)Math.sqrt(2 * n);
+ final int t = (int)Math.sqrt(2 * n);
int item = 0;
int initialItem = 0;
int initialSkip = 1;
@@ -95,7 +97,7 @@ public class StreamMaker {
break;
}
case ZOOM_IN_SQRT: {
- int t = (int)Math.floor(Math.sqrt(n));
+ final int t = (int)Math.floor(Math.sqrt(n));
int i = 0;
for (int j = 0; j < t - 1; j++) {
arr[i] = j + offset; i++;
@@ -107,9 +109,9 @@ public class StreamMaker {
break;
}
case FLIP_FLOP: {
- FlipFlopStream ffs = new FlipFlopStream(n, offset);
+ final FlipFlopStream ffs = new FlipFlopStream(n, offset);
ffs.flipFlop(1, 1, n * 2 / 5);
- int m = n / 5;
+ final int m = n / 5;
ffs.flipFlop(m, 1, m);
ffs.flipFlop(1, m, m);
ffs.flipFlop(1, 1, n);
@@ -126,8 +128,8 @@ public class StreamMaker {
return arr;
}
- public void printStream(int n, Pattern order, int offset) {
- float[] stream = makeStream(n, order, offset);
+ public void printStream(final int n, final Pattern order, final int offset) {
+ final float[] stream = makeStream(n, order, offset);
println(order + " n:" + n + " offset: " + offset);
for (int i = 0; i < stream.length; i++) {
//if (i != 0 && i % 21 == 0) { println(""); }
@@ -152,7 +154,7 @@ public class StreamMaker {
printStream(100, FLIP_FLOP, 1);
}
- static void print(Object o) { System.out.print(o.toString()); }
+ static void print(final Object o) { System.out.print(o.toString()); }
- static void println(Object o) { System.out.println(o.toString()); }
+ static void println(final Object o) { System.out.println(o.toString()); }
}
diff --git a/src/test/java/org/apache/datasketches/characterization/quantiles/TrueFloatRanks.java b/src/main/java/org/apache/datasketches/characterization/req/TrueFloatRanks.java
similarity index 92%
rename from src/test/java/org/apache/datasketches/characterization/quantiles/TrueFloatRanks.java
rename to src/main/java/org/apache/datasketches/characterization/req/TrueFloatRanks.java
index e0ebe1d..7c862f3 100644
--- a/src/test/java/org/apache/datasketches/characterization/quantiles/TrueFloatRanks.java
+++ b/src/main/java/org/apache/datasketches/characterization/req/TrueFloatRanks.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.datasketches.characterization.quantiles;
+package org.apache.datasketches.characterization.req;
import java.util.Arrays;
@@ -40,7 +40,7 @@ public class TrueFloatRanks {
private float[] stream;
private float[] sortedStream;
private int[] sortedAbsRanks;
- private int[] streamAbsRanks; //TODO do we need this?
+ private int[] streamAbsRanks;
TrueFloatRanks() { } //for TestNG
@@ -75,7 +75,7 @@ public class TrueFloatRanks {
}
public int getAbsRank(final float v) {
- int idx = BinarySearch.find(sortedStream, 0, length - 1, v);
+ final int idx = BinarySearch.find(sortedStream, 0, length - 1, v);
return sortedAbsRanks[idx];
}
@@ -117,8 +117,8 @@ public class TrueFloatRanks {
* @return the relative rank array.
*/
public static double[] relativeRank(final int[] absRankArr) {
- int length = absRankArr.length;
- double[] relRank = new double[length];
+ final int length = absRankArr.length;
+ final double[] relRank = new double[length];
for (int i = 0; i < length; i++) { relRank[i] = (double)absRankArr[i] / length; }
return relRank;
}
@@ -133,12 +133,12 @@ public class TrueFloatRanks {
}
private static void checkRanksImpl(final float[] vArr) {
- StringBuilder sb = new StringBuilder();
- String ffmt = "%5.1f ";
- String dfmt = "%5d ";
+ final StringBuilder sb = new StringBuilder();
+ final String ffmt = "%5.1f ";
+ final String dfmt = "%5d ";
TrueFloatRanks trueRanks;
- int N = vArr.length;
+ final int N = vArr.length;
sb.append("Values:").append(LS);
for (int i = 0; i < N; i++) { sb.append(String.format(ffmt, vArr[i])); }
sb.append(LS);
@@ -165,7 +165,7 @@ public class TrueFloatRanks {
println(sb.toString());
}
- private static void println(Object o) {
+ private static void println(final Object o) {
System.out.println(o.toString());
}
diff --git a/src/main/java/org/apache/datasketches/characterization/theta/ThetaUpdateSpeedProfile.java b/src/main/java/org/apache/datasketches/characterization/theta/ThetaUpdateSpeedProfile.java
index 461f251..1d726b6 100644
--- a/src/main/java/org/apache/datasketches/characterization/theta/ThetaUpdateSpeedProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/theta/ThetaUpdateSpeedProfile.java
@@ -36,7 +36,6 @@ public class ThetaUpdateSpeedProfile extends BaseUpdateSpeedProfile {
private WritableDirectHandle handle;
private WritableMemory wmem;
-
@Override
public void configure() {
//Configure Sketch
diff --git a/src/main/java/org/apache/datasketches/characterization/theta/concurrent/ConcurrentThetaAccuracyProfile.java b/src/main/java/org/apache/datasketches/characterization/theta/concurrent/ConcurrentThetaAccuracyProfile.java
index 2c800e2..5f99317 100644
--- a/src/main/java/org/apache/datasketches/characterization/theta/concurrent/ConcurrentThetaAccuracyProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/theta/concurrent/ConcurrentThetaAccuracyProfile.java
@@ -45,7 +45,6 @@ public class ConcurrentThetaAccuracyProfile extends BaseAccuracyProfile {
private WritableDirectHandle wdh;
private WritableMemory wmem;
-
@Override
public void configure() {
//Configure Sketches
diff --git a/src/main/java/org/apache/datasketches/characterization/theta/concurrent/ConcurrentThetaMultithreadedSpeedProfile.java b/src/main/java/org/apache/datasketches/characterization/theta/concurrent/ConcurrentThetaMultithreadedSpeedProfile.java
index 3c64a3b..7a40362 100644
--- a/src/main/java/org/apache/datasketches/characterization/theta/concurrent/ConcurrentThetaMultithreadedSpeedProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/theta/concurrent/ConcurrentThetaMultithreadedSpeedProfile.java
@@ -56,7 +56,6 @@ public class ConcurrentThetaMultithreadedSpeedProfile extends BaseUpdateSpeedPro
private boolean isThreadSafe;
private ConcurrentTestContext ctx;
-
/**
* Configure the sketch
*/
@@ -227,7 +226,6 @@ public class ConcurrentThetaMultithreadedSpeedProfile extends BaseUpdateSpeedPro
*/
protected class ReaderThread extends ConcurrentTestThread {
-
public ReaderThread() {
super(ctx);
}
diff --git a/src/main/java/org/apache/datasketches/characterization/tuple/AodSketchUpdateSpeedProfile.java b/src/main/java/org/apache/datasketches/characterization/tuple/AodSketchUpdateSpeedProfile.java
index 323092c..a4a06ae 100644
--- a/src/main/java/org/apache/datasketches/characterization/tuple/AodSketchUpdateSpeedProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/tuple/AodSketchUpdateSpeedProfile.java
@@ -32,7 +32,6 @@ public class AodSketchUpdateSpeedProfile extends BaseUpdateSpeedProfile {
private WritableDirectHandle handle;
private WritableMemory wmem;
-
@Override
public void configure() {
//Configure Sketch
diff --git a/src/main/java/org/apache/datasketches/characterization/uniquecount/BaseMergeSpeedProfile2.java b/src/main/java/org/apache/datasketches/characterization/uniquecount/BaseMergeSpeedProfile2.java
index 148f450..04b111a 100644
--- a/src/main/java/org/apache/datasketches/characterization/uniquecount/BaseMergeSpeedProfile2.java
+++ b/src/main/java/org/apache/datasketches/characterization/uniquecount/BaseMergeSpeedProfile2.java
@@ -143,5 +143,4 @@ public abstract class BaseMergeSpeedProfile2 implements JobProfile {
public double totalTime_nS;
}
-
}
diff --git a/src/main/resources/quantiles/KllFloatsSketchRankGaussianAccuracyJob.conf b/src/main/resources/quantiles/KllFloatsSketchRankGaussianAccuracyJob.conf
index 1f52248..088f7cf 100644
--- a/src/main/resources/quantiles/KllFloatsSketchRankGaussianAccuracyJob.conf
+++ b/src/main/resources/quantiles/KllFloatsSketchRankGaussianAccuracyJob.conf
@@ -31,7 +31,7 @@ ErrSkLgK=12 # parameter for the rank error distribution sketch
NumPlotPoints=100 # number of plot points along the x-axis
# Specific sketch config
-K=100 # sketch size and accuracy parameter
+K=200 # sketch size and accuracy parameter
# Date-Time Profile
diff --git a/src/main/resources/quantiles/KllSketchAccuracyJob.conf b/src/main/resources/quantiles/KllSketchAccuracyJob.conf
index 0d7b563..8a6a22d 100644
--- a/src/main/resources/quantiles/KllSketchAccuracyJob.conf
+++ b/src/main/resources/quantiles/KllSketchAccuracyJob.conf
@@ -20,9 +20,9 @@ K=200 # sketch size and accuracy parameter
useBulk=true # query ranks using getCDF() instead of separate getRank() for each value
errLgK=10 # parameter for the rank error distribution sketch
errPct=99 # percentile of the rank error distribution to report
-trials=10 # Trials at every stream length
+trials=1000 # Trials at every stream length
lgMin=0 # The starting stream length
lgMax=23 # How high the stream length goes
PPO=8 # The horizontal x-resolution of trials points
-type=double
-direct=true
+type=float
+direct=false
diff --git a/src/main/resources/quantiles/KllSketchSizeSpeedJob.conf b/src/main/resources/quantiles/KllSketchSizeSpeedJob.conf
index 99090dd..2e9d11c 100644
--- a/src/main/resources/quantiles/KllSketchSizeSpeedJob.conf
+++ b/src/main/resources/quantiles/KllSketchSizeSpeedJob.conf
@@ -29,7 +29,9 @@ LgMinBpSL=10 # The SL breakpoint where the slope starts
LgMaxBpSL=20 # The SL breakpoint where the slope stops
# Specific sketch config
-KllK=200 # KllSketch size and accuracy
+KllK=200 # KllSketch size and accuracy
+type=double
+direct=false
# Date-Time Profile
TimeZone=PDT
diff --git a/tools/SketchesCheckstyle.xml b/tools/SketchesCheckstyle.xml
index 3fef296..87d03e6 100644
--- a/tools/SketchesCheckstyle.xml
+++ b/tools/SketchesCheckstyle.xml
@@ -352,6 +352,7 @@ under the License.
<!-- Whitespace -->
<module name="EmptyLineSeparator">
<property name="allowNoEmptyLineBetweenFields" value="true"/>
+ <property name="allowMultipleEmptyLines" value="false"/>
</module>
<module name="GenericWhitespace">
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org