Search in sources :

Example 1 with NOT_CONTAINS

use of oap.tree.Dimension.OperationType.NOT_CONTAINS in project oap by oaplatform.

the class TreePerformance method run.

public void run(double fillFactor, int arrayToTree, int dataCount) {
    val bids = new ArrayList<ArrayList<Object>>();
    val dimensions = new ArrayList<Dimension>();
    addStringDimension(dimensions, 20, Dimension.OperationType.CONTAINS);
    addLongDimension(dimensions, 5);
    addStringDimension(dimensions, 30, NOT_CONTAINS);
    addBooleanDimension(dimensions, 10, Dimension.OperationType.CONTAINS);
    addBooleanDimension(dimensions, 10, NOT_CONTAINS);
    addEnumDimension(dimensions, TestEnum1.class, TestEnum1.UNKNOWN1);
    addEnumDimension(dimensions, TestEnum2.class, TestEnum2.Test21);
    addArrayEnumDimension(dimensions, TestEnum3.class, TestEnum3.Test31, 2);
    addArrayStringDimension(dimensions, 5, 300);
    addArrayStringDimension(dimensions, 5, 3);
    addArrayStringDimension(dimensions, 5, 4);
    addArrayStringDimension(dimensions, 5, 5);
    addArrayLongDimension(dimensions, 5, 4);
    addArrayLongDimension(dimensions, 5, 10);
    val data = new ArrayList<Tree.ValueData<String>>();
    fill(dimensions, data, dataCount);
    generateRequests(100, dimensions, bids, data);
    final Tree<String> tree = Tree.<String>tree(dimensions).withHashFillFactor(fillFactor).withArrayToTree(arrayToTree).load(data);
    benchmark("tree-" + fillFactor + "-" + dataCount, SAMPLES, (i) -> {
        Assertions.assertThat(tree.find(bids.get(i % bids.size()))).isNotEmpty();
    }).run();
    System.out.println(tree.getMaxDepth());
}
Also used : lombok.val(lombok.val) RandomUtils(org.apache.commons.lang3.RandomUtils) SneakyThrows(lombok.SneakyThrows) Test(org.testng.annotations.Test) HashMap(java.util.HashMap) STRING(oap.tree.Dimension.STRING) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) Matcher(java.util.regex.Matcher) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Lists(oap.util.Lists) Arrays.asList(java.util.Arrays.asList) Assertions(org.assertj.core.api.Assertions) LONG(oap.tree.Dimension.LONG) ENUM(oap.tree.Dimension.ENUM) BOOLEAN(oap.tree.Dimension.BOOLEAN) lombok.val(lombok.val) Set(java.util.Set) NOT_CONTAINS(oap.tree.Dimension.OperationType.NOT_CONTAINS) AbstractPerformance(oap.testng.AbstractPerformance) List(java.util.List) ARRAY_LONG(oap.tree.Dimension.ARRAY_LONG) ARRAY_STRING(oap.tree.Dimension.ARRAY_STRING) RandomStringUtils(org.apache.commons.lang3.RandomStringUtils) ARRAY_ENUM(oap.tree.Dimension.ARRAY_ENUM) Pattern(java.util.regex.Pattern) ArrayList(java.util.ArrayList)

Aggregations

ArrayList (java.util.ArrayList)1 Arrays.asList (java.util.Arrays.asList)1 HashMap (java.util.HashMap)1 HashSet (java.util.HashSet)1 List (java.util.List)1 Set (java.util.Set)1 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)1 Matcher (java.util.regex.Matcher)1 Pattern (java.util.regex.Pattern)1 SneakyThrows (lombok.SneakyThrows)1 lombok.val (lombok.val)1 AbstractPerformance (oap.testng.AbstractPerformance)1 ARRAY_ENUM (oap.tree.Dimension.ARRAY_ENUM)1 ARRAY_LONG (oap.tree.Dimension.ARRAY_LONG)1 ARRAY_STRING (oap.tree.Dimension.ARRAY_STRING)1 BOOLEAN (oap.tree.Dimension.BOOLEAN)1 ENUM (oap.tree.Dimension.ENUM)1 LONG (oap.tree.Dimension.LONG)1 NOT_CONTAINS (oap.tree.Dimension.OperationType.NOT_CONTAINS)1 STRING (oap.tree.Dimension.STRING)1