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/incubator-datasketches-characterization.git
The following commit(s) were added to refs/heads/master by this push:
new ba1e693 update theta speed profiles
ba1e693 is described below
commit ba1e6934859410412950d5656ad0da36aaab6ab6
Author: Lee Rhodes <[email protected]>
AuthorDate: Mon Oct 21 12:34:35 2019 -0700
update theta speed profiles
---
.../characterization/hll/HllUpdateSpeedProfile.java | 2 +-
.../characterization/theta/ThetaUpdateSpeedProfile.java | 17 +++++++++++++----
src/main/resources/theta/ThetaSpeedJob.conf | 8 ++++----
3 files changed, 18 insertions(+), 9 deletions(-)
diff --git
a/src/main/java/org/apache/datasketches/characterization/hll/HllUpdateSpeedProfile.java
b/src/main/java/org/apache/datasketches/characterization/hll/HllUpdateSpeedProfile.java
index 7cdedd4..24b8542 100644
---
a/src/main/java/org/apache/datasketches/characterization/hll/HllUpdateSpeedProfile.java
+++
b/src/main/java/org/apache/datasketches/characterization/hll/HllUpdateSpeedProfile.java
@@ -56,7 +56,7 @@ public class HllUpdateSpeedProfile extends
BaseUpdateSpeedProfile {
@Override
public void cleanup() {
- handle.close();
+ if (handle != null) { handle.close(); }
}
@Override
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 561b111..461f251 100644
---
a/src/main/java/org/apache/datasketches/characterization/theta/ThetaUpdateSpeedProfile.java
+++
b/src/main/java/org/apache/datasketches/characterization/theta/ThetaUpdateSpeedProfile.java
@@ -22,6 +22,7 @@ package org.apache.datasketches.characterization.theta;
import org.apache.datasketches.Family;
import org.apache.datasketches.ResizeFactor;
import
org.apache.datasketches.characterization.uniquecount.BaseUpdateSpeedProfile;
+import org.apache.datasketches.memory.WritableDirectHandle;
import org.apache.datasketches.memory.WritableMemory;
import org.apache.datasketches.theta.Sketch;
import org.apache.datasketches.theta.UpdateSketch;
@@ -32,6 +33,9 @@ import org.apache.datasketches.theta.UpdateSketchBuilder;
*/
public class ThetaUpdateSpeedProfile extends BaseUpdateSpeedProfile {
protected UpdateSketch sketch;
+ private WritableDirectHandle handle;
+ private WritableMemory wmem;
+
@Override
public void configure() {
@@ -40,7 +44,7 @@ public class ThetaUpdateSpeedProfile extends
BaseUpdateSpeedProfile {
final Family family = Family.stringToFamily(prop.mustGet("THETA_famName"));
final float p = Float.parseFloat(prop.mustGet("THETA_p"));
final ResizeFactor rf =
ResizeFactor.getRF(Integer.parseInt(prop.mustGet("THETA_lgRF")));
- final boolean direct = Boolean.parseBoolean(prop.mustGet("THETA_direct"));
+ final boolean offheap =
Boolean.parseBoolean(prop.mustGet("THETA_offheap"));
final int k = 1 << lgK;
final UpdateSketchBuilder udBldr = UpdateSketch.builder()
@@ -48,10 +52,10 @@ public class ThetaUpdateSpeedProfile extends
BaseUpdateSpeedProfile {
.setFamily(family)
.setP(p)
.setResizeFactor(rf);
- if (direct) {
+ if (offheap) {
final int bytes = Sketch.getMaxUpdateSketchBytes(k);
- final byte[] memArr = new byte[bytes];
- final WritableMemory wmem = WritableMemory.wrap(memArr);
+ handle = WritableMemory.allocateDirect(bytes);
+ wmem = handle.get();
sketch = udBldr.build(wmem);
} else {
sketch = udBldr.build();
@@ -59,6 +63,11 @@ public class ThetaUpdateSpeedProfile extends
BaseUpdateSpeedProfile {
}
@Override
+ public void cleanup() {
+ if (handle != null) { handle.close(); }
+ }
+
+ @Override
public double doTrial(final int uPerTrial) {
sketch.reset(); // reuse the same sketch
final long startUpdateTime_nS = System.nanoTime();
diff --git a/src/main/resources/theta/ThetaSpeedJob.conf
b/src/main/resources/theta/ThetaSpeedJob.conf
index 68ccb9b..be57c1d 100644
--- a/src/main/resources/theta/ThetaSpeedJob.conf
+++ b/src/main/resources/theta/ThetaSpeedJob.conf
@@ -19,7 +19,7 @@
# Uniques Profile
Trials_lgMinU=0 #The starting # of uniques that is printed at the end. 0
-Trials_lgMaxU=20 #How high the # uniques go 20
+Trials_lgMaxU=23 #How high the # uniques go 20
Trials_UPPO=16 #The horizontal x-resolution of trials points
# Trials Profile
@@ -39,8 +39,8 @@ ReadableDateFormat=yyyy/MM/dd HH:mm:ss z
#Job Profile
JobProfile=org.apache.datasketches.characterization.theta.ThetaUpdateSpeedProfile
LgK=12
-THETA_lgRF=0 #set the log resize factor to 0 (RF = 1)
-THETA_famName=ALPHA #QUICKSELECT Cannot use ALPHA until 0.10.4
+THETA_lgRF=0 #set the log resize factor to 0 (RF = X1)
+THETA_famName=QUICKSELECT #QUICKSELECT Cannot use ALPHA until 0.10.4
THETA_p=1.0
-THETA_direct=false
+THETA_offheap=true
THETA_rebuild=false
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]