Search in sources :

Example 1 with MapHandle

use of org.apache.datasketches.memory.MapHandle in project sketches-core by DataSketches.

the class CpcCBinariesTest method checkEmptyImages.

// Image checks
@Test
public void checkEmptyImages() {
    final String fileName = "cpc-empty.sk";
    final File file = getResourceFile(fileName);
    try (MapHandle mh = Memory.map(file)) {
        final Memory mem = mh.get();
        final int cap = (int) mem.getCapacity();
        final byte[] memByteArr = new byte[cap];
        mem.getByteArray(0, memByteArr, 0, cap);
        final CpcSketch sk = new CpcSketch(11);
        final byte[] mem2ByteArr = sk.toByteArray();
        final Memory mem2 = Memory.wrap(mem2ByteArr);
        assertEquals(mem.getCapacity(), mem2.getCapacity());
        assertEquals(memByteArr, mem2ByteArr);
    } catch (final Exception e) {
        e.printStackTrace();
    }
}
Also used : Memory(org.apache.datasketches.memory.Memory) MapHandle(org.apache.datasketches.memory.MapHandle) Util.getResourceFile(org.apache.datasketches.Util.getResourceFile) File(java.io.File) Test(org.testng.annotations.Test)

Example 2 with MapHandle

use of org.apache.datasketches.memory.MapHandle in project sketches-core by DataSketches.

the class CpcCBinariesTest method checkPinnedImages.

@Test
public void checkPinnedImages() {
    final String fileName = "cpc-pinned.sk";
    final File file = getResourceFile(fileName);
    try (MapHandle mh = Memory.map(file)) {
        final Memory mem = mh.get();
        final int cap = (int) mem.getCapacity();
        final byte[] cppMemByteArr = new byte[cap];
        mem.getByteArray(0, cppMemByteArr, 0, cap);
        final CpcSketch sk = new CpcSketch(11);
        for (int i = 0; i < 2000; i++) {
            sk.update(i);
        }
        final byte[] javaMemByteArr = sk.toByteArray();
        final Memory mem2 = Memory.wrap(javaMemByteArr);
        assertEquals(mem.getCapacity(), mem2.getCapacity());
        assertEquals(cppMemByteArr, javaMemByteArr);
    } catch (final Exception e) {
        e.printStackTrace();
    }
}
Also used : Memory(org.apache.datasketches.memory.Memory) MapHandle(org.apache.datasketches.memory.MapHandle) Util.getResourceFile(org.apache.datasketches.Util.getResourceFile) File(java.io.File) Test(org.testng.annotations.Test)

Example 3 with MapHandle

use of org.apache.datasketches.memory.MapHandle in project sketches-core by DataSketches.

the class CpcCBinariesTest method checkPinnedBin.

@Test
public void checkPinnedBin() {
    final String fileName = "cpc-pinned.sk";
    final File file = getResourceFile(fileName);
    try (MapHandle mh = Memory.map(file)) {
        final Memory mem = mh.get();
        println("CPP GENERATED SKETCH FROM BINARY FILE LgK=11, U0 to U1999");
        println("PreambleUtil.toString(mem, true)" + LS);
        println(PreambleUtil.toString(mem, true));
        println(LS + LS + "################");
        println("CpcSketch sk = CpcSketch.heapify(mem);");
        println("sk.toString(true)" + LS);
        final CpcSketch sk = CpcSketch.heapify(mem);
        println(sk.toString(true));
        assertEquals(sk.getFlavor(), Flavor.PINNED);
        final double est1 = sk.getEstimate();
        assertEquals(est1, 2000, 2000 * .02);
        for (long i = 0; i < 2000; i++) {
            sk.update(i);
        }
        final double est2 = sk.getEstimate();
        // assert no change
        assertEquals(est2, est1, 0);
    } catch (final Exception e) {
        e.printStackTrace();
    }
}
Also used : Memory(org.apache.datasketches.memory.Memory) MapHandle(org.apache.datasketches.memory.MapHandle) Util.getResourceFile(org.apache.datasketches.Util.getResourceFile) File(java.io.File) Test(org.testng.annotations.Test)

Example 4 with MapHandle

use of org.apache.datasketches.memory.MapHandle in project sketches-core by DataSketches.

the class CpcCBinariesTest method checkSlidingBin.

@Test
public void checkSlidingBin() {
    final String fileName = "cpc-sliding.sk";
    final File file = getResourceFile(fileName);
    try (MapHandle mh = Memory.map(file)) {
        final Memory mem = mh.get();
        println("CPP GENERATED SKETCH FROM BINARY FILE LgK=11, U0 to U19999");
        println("PreambleUtil.toString(mem, true)" + LS);
        println(PreambleUtil.toString(mem, true));
        println(LS + LS + "################");
        println("CpcSketch sk = CpcSketch.heapify(mem);");
        println("sk.toString(true)" + LS);
        final CpcSketch sk = CpcSketch.heapify(mem);
        println(sk.toString(true));
        assertEquals(sk.getFlavor(), Flavor.SLIDING);
        final double est1 = sk.getEstimate();
        assertEquals(est1, 20000, 20000 * .02);
        for (long i = 0; i < 20000; i++) {
            sk.update(i);
        }
        final double est2 = sk.getEstimate();
        assertEquals(est2, est1, 0);
    } catch (final Exception e) {
        e.printStackTrace();
    }
}
Also used : Memory(org.apache.datasketches.memory.Memory) MapHandle(org.apache.datasketches.memory.MapHandle) Util.getResourceFile(org.apache.datasketches.Util.getResourceFile) File(java.io.File) Test(org.testng.annotations.Test)

Example 5 with MapHandle

use of org.apache.datasketches.memory.MapHandle in project sketches-core by DataSketches.

the class CpcCBinariesTest method checkSparseImages.

@Test
public void checkSparseImages() {
    final String fileName = "cpc-sparse.sk";
    final File file = getResourceFile(fileName);
    try (MapHandle mh = Memory.map(file)) {
        final Memory mem = mh.get();
        final int cap = (int) mem.getCapacity();
        final byte[] memByteArr = new byte[cap];
        mem.getByteArray(0, memByteArr, 0, cap);
        final CpcSketch sk = new CpcSketch(11);
        for (int i = 0; i < 100; i++) {
            sk.update(i);
        }
        final byte[] mem2ByteArr = sk.toByteArray();
        final Memory mem2 = Memory.wrap(mem2ByteArr);
        assertEquals(mem.getCapacity(), mem2.getCapacity());
        assertEquals(memByteArr, mem2ByteArr);
    } catch (final Exception e) {
        e.printStackTrace();
    }
}
Also used : Memory(org.apache.datasketches.memory.Memory) MapHandle(org.apache.datasketches.memory.MapHandle) Util.getResourceFile(org.apache.datasketches.Util.getResourceFile) File(java.io.File) Test(org.testng.annotations.Test)

Aggregations

File (java.io.File)10 Util.getResourceFile (org.apache.datasketches.Util.getResourceFile)10 MapHandle (org.apache.datasketches.memory.MapHandle)10 Memory (org.apache.datasketches.memory.Memory)10 Test (org.testng.annotations.Test)10