Search in sources :

Example 1 with OpenBitSet

use of org.apache.cassandra.utils.obs.OpenBitSet in project cassandra by apache.

the class LongBitSetTest method timeit.

@Test
public void timeit() {
    // about 214 million
    long size_to_test = Integer.MAX_VALUE / 10;
    long size_and_excess = size_to_test + 20;
    OpenBitSet obs = new OpenBitSet(size_and_excess);
    OffHeapBitSet offbs = new OffHeapBitSet(size_and_excess);
    logger.info("||Open BS set's|Open BS get's|Open BS clear's|Offheap BS set's|Offheap BS get's|Offheap BS clear's|");
    // System.out.println("||Open BS set's|Open BS get's|Open BS clear's|Offheap BS set's|Offheap BS get's|Offheap BS clear's|");
    loopOnce(obs, offbs, size_to_test);
}
Also used : OpenBitSet(org.apache.cassandra.utils.obs.OpenBitSet) OffHeapBitSet(org.apache.cassandra.utils.obs.OffHeapBitSet) Test(org.junit.Test)

Example 2 with OpenBitSet

use of org.apache.cassandra.utils.obs.OpenBitSet in project cassandra by apache.

the class LongBitSetTest method testBitSetOperations.

@Test
public void testBitSetOperations() {
    long size_to_test = Integer.MAX_VALUE / 40;
    long size_and_excess = size_to_test + 20;
    OffHeapBitSet offbs = new OffHeapBitSet(size_and_excess);
    OpenBitSet obs = new OpenBitSet(size_and_excess);
    for (long i = 0; i < size_to_test; i++) populateRandom(offbs, obs, i);
    for (long i = 0; i < size_to_test; i++) compare(offbs, obs, i);
}
Also used : OpenBitSet(org.apache.cassandra.utils.obs.OpenBitSet) OffHeapBitSet(org.apache.cassandra.utils.obs.OffHeapBitSet) Test(org.junit.Test)

Example 3 with OpenBitSet

use of org.apache.cassandra.utils.obs.OpenBitSet in project cassandra by apache.

the class FilterFactory method createFilter.

@SuppressWarnings("resource")
private static IFilter createFilter(int hash, long numElements, int bucketsPer, boolean offheap) {
    long numBits = (numElements * bucketsPer) + BITSET_EXCESS;
    IBitSet bitset = offheap ? new OffHeapBitSet(numBits) : new OpenBitSet(numBits);
    return new BloomFilter(hash, bitset);
}
Also used : OpenBitSet(org.apache.cassandra.utils.obs.OpenBitSet) OffHeapBitSet(org.apache.cassandra.utils.obs.OffHeapBitSet) IBitSet(org.apache.cassandra.utils.obs.IBitSet)

Example 4 with OpenBitSet

use of org.apache.cassandra.utils.obs.OpenBitSet in project cassandra by apache.

the class LongBitSetTest method loopIt.

/**
     * Just to make sure JIT doesn't come on our way
     */
@Test
public // @Ignore
void loopIt() {
    // about 214 million
    long size_to_test = Integer.MAX_VALUE / 10;
    long size_and_excess = size_to_test + 20;
    OpenBitSet obs = new OpenBitSet(size_and_excess);
    OffHeapBitSet offbs = new OffHeapBitSet(size_and_excess);
    for (int i = 0; i < 10; i++) // 10 times to do approx 2B keys each.
    loopOnce(obs, offbs, size_to_test);
}
Also used : OpenBitSet(org.apache.cassandra.utils.obs.OpenBitSet) OffHeapBitSet(org.apache.cassandra.utils.obs.OffHeapBitSet) Test(org.junit.Test)

Example 5 with OpenBitSet

use of org.apache.cassandra.utils.obs.OpenBitSet in project eiger by wlloyd.

the class BloomFilterSerializer method deserialize.

public BloomFilter deserialize(DataInput dis) throws IOException {
    int hashes = dis.readInt();
    long bitLength = dis.readInt();
    OpenBitSet bs = new OpenBitSet(bitLength << 6);
    int pageSize = bs.getPageSize();
    int pageCount = bs.getPageCount();
    for (int p = 0; p < pageCount; p++) {
        long[] bits = bs.getPage(p);
        for (int i = 0; i < pageSize && bitLength-- > 0; i++) bits[i] = dis.readLong();
    }
    return new BloomFilter(hashes, bs);
}
Also used : OpenBitSet(org.apache.cassandra.utils.obs.OpenBitSet)

Aggregations

OpenBitSet (org.apache.cassandra.utils.obs.OpenBitSet)5 OffHeapBitSet (org.apache.cassandra.utils.obs.OffHeapBitSet)4 Test (org.junit.Test)3 IBitSet (org.apache.cassandra.utils.obs.IBitSet)1