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]

Reply via email to