This is an automated email from the ASF dual-hosted git repository. charlie pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/datasketches-characterization.git
commit 98bd6880f9666e689df8c0e817602720aed714be Author: c-dickens <[email protected]> AuthorDate: Thu Aug 15 15:45:16 2024 +0100 Added the QF expansion profile --- .../filters/QuotientFilterExpansionProfile.java | 13 ++++++++----- src/main/resources/filters/QuotientFilterExpansionJob.conf | 12 ++++++------ 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/apache/datasketches/characterization/filters/QuotientFilterExpansionProfile.java b/src/main/java/org/apache/datasketches/characterization/filters/QuotientFilterExpansionProfile.java index c07d226..eed1804 100644 --- a/src/main/java/org/apache/datasketches/characterization/filters/QuotientFilterExpansionProfile.java +++ b/src/main/java/org/apache/datasketches/characterization/filters/QuotientFilterExpansionProfile.java @@ -54,7 +54,7 @@ public class QuotientFilterExpansionProfile implements JobProfile{ This can be seen through the recursive relationship */ private void doTrial(long numQueries, long startLgU, long endLgU){ - QuotientFilter qf = new QuotientFilter(lgK, startLenFprint+3); + QuotientFilter qf = new QuotientFilter(lgK, startLenFprint); final StringBuilder dataStr = new StringBuilder(); // Populate the negative items. Do this first to easily keep it separate from input item set. @@ -77,15 +77,17 @@ public class QuotientFilterExpansionProfile implements JobProfile{ for (long negItem : negativeItems) { if (qf.search(negItem)) ++numFalsePositive; } - double fpr = (double) numFalsePositive / numQueries; - process(inputCardinality, qf.getNumEntries(), qf.getNumSlots(), qf.getFingerprintLength(), fpr, dataStr); + //double fpr = (double) numFalsePositive / numQueries; + //System.out.println("Expansions " + qf.getNumExpansions() + " " + qf.getNumSlots()) ; + process(inputCardinality, qf.getNumEntries(), qf.getNumSlots(), qf.getFingerprintLength(), numFalsePositive, dataStr); job.println(dataStr.toString()); inputCardinality = pwr2SeriesNext(uPPO, inputCardinality); } } private static void process(final long numInput, final long numEntries, final long numSlots, final int fPrintLen, - final double falsePositiveRate, final StringBuilder sb){ + final long falsePositiveRate, final StringBuilder sb){ + //final double falsePositiveRate, final StringBuilder sb){ // OUTPUT sb.setLength(0); sb.append(numSlots).append(TAB); @@ -101,7 +103,8 @@ public class QuotientFilterExpansionProfile implements JobProfile{ sb.append("NumInput").append(TAB); sb.append("FPrintLen").append(TAB); sb.append("NumEntries").append(TAB); - sb.append("FalsePositiveRate"); + sb.append("NumFalsePositives"); + //sb.append("FalsePositiveRate"); return sb.toString(); } } diff --git a/src/main/resources/filters/QuotientFilterExpansionJob.conf b/src/main/resources/filters/QuotientFilterExpansionJob.conf index 3879123..3f31eeb 100644 --- a/src/main/resources/filters/QuotientFilterExpansionJob.conf +++ b/src/main/resources/filters/QuotientFilterExpansionJob.conf @@ -17,7 +17,7 @@ # Uniques Profile Universe_lgU=15 # Maximum log2 of the input set. -Universe_uPPO=4 #The horizontal x-resolution of trials points +Universe_uPPO=15 #The horizontal x-resolution of trials points # Trials Profile @@ -35,9 +35,9 @@ ReadableDateFormat=yyyy/MM/dd HH:mm:ss z #Job Profile JobProfile=org.apache.datasketches.characterization.filters.QuotientFilterExpansionProfile -startLgU = 9 -endLgU = 12 -startLgNumSlots = 10 +startLgU = 20 +endLgU = 22 +startLgNumSlots = 21 startLenFprint = 5 -lgNumQueries = 10 -lgTrials = 3 \ No newline at end of file +lgNumQueries = 12 +lgTrials = 12 \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
