Search in sources :

Example 1 with AtomicShortArray

use of org.lanternpowered.server.util.collect.array.concurrent.AtomicShortArray in project LanternServer by LanternPowered.

the class AtomicShortArrayTest method testGetSet.

@Test
public void testGetSet() {
    AtomicShortArray array = new AtomicShortArray(SIZE);
    for (int i = 0; i < array.length(); i++) {
        array.set(i, A);
        assertEquals(A, array.get(i));
        array.set(i, B);
        assertEquals(B, array.get(i));
        array.set(i, C);
        assertEquals(C, array.get(i));
    }
}
Also used : AtomicShortArray(org.lanternpowered.server.util.collect.array.concurrent.AtomicShortArray) Test(org.junit.Test)

Example 2 with AtomicShortArray

use of org.lanternpowered.server.util.collect.array.concurrent.AtomicShortArray in project LanternServer by LanternPowered.

the class AtomicShortArrayTest method testLazyGetSet.

@Test
public void testLazyGetSet() {
    AtomicShortArray array = new AtomicShortArray(SIZE);
    for (int i = 0; i < array.length(); i++) {
        array.lazySet(i, A);
        assertEquals(A, array.get(i));
        array.lazySet(i, B);
        assertEquals(B, array.get(i));
        array.lazySet(i, C);
        assertEquals(C, array.get(i));
    }
}
Also used : AtomicShortArray(org.lanternpowered.server.util.collect.array.concurrent.AtomicShortArray) Test(org.junit.Test)

Example 3 with AtomicShortArray

use of org.lanternpowered.server.util.collect.array.concurrent.AtomicShortArray in project LanternServer by LanternPowered.

the class AtomicPerformanceTests method testSetPerformance0.

// @Test
public void testSetPerformance0() {
    AtomicIntegerArray array0 = new AtomicIntegerArray(TESTS);
    long time = System.currentTimeMillis();
    for (int i = 0; i < TESTS; i++) {
        array0.set(i, i);
    }
    System.out.println(String.format(MESSAGE, "AtomicIntegerArray", TESTS, System.currentTimeMillis() - time));
    int[] parray0 = new int[TESTS];
    time = System.currentTimeMillis();
    for (int i = 0; i < TESTS; i++) {
        parray0[i] = i;
    }
    System.out.println(String.format(MESSAGE, "int[]", TESTS, System.currentTimeMillis() - time));
    AtomicShortArray array1 = new AtomicShortArray(TESTS);
    time = System.currentTimeMillis();
    for (int i = 0; i < TESTS; i++) {
        array1.set(i, (short) i);
    }
    System.out.println(String.format(MESSAGE, "AtomicShortArray", TESTS, System.currentTimeMillis() - time));
    short[] parray1 = new short[TESTS];
    time = System.currentTimeMillis();
    for (int i = 0; i < TESTS; i++) {
        parray1[i] = (short) i;
    }
    System.out.println(String.format(MESSAGE, "short[]", TESTS, System.currentTimeMillis() - time));
    AtomicByteArray array2 = new AtomicByteArray(TESTS);
    time = System.currentTimeMillis();
    for (int i = 0; i < TESTS; i++) {
        array2.set(i, (byte) (i % 255));
    }
    System.out.println(String.format(MESSAGE, "AtomicByteArray", TESTS, System.currentTimeMillis() - time));
    byte[] parray3 = new byte[TESTS];
    time = System.currentTimeMillis();
    for (int i = 0; i < TESTS; i++) {
        parray3[i] = (byte) (i % 255);
    }
    System.out.println(String.format(MESSAGE, "byte[]", TESTS, System.currentTimeMillis() - time));
    AtomicNibbleArray array3 = new AtomicNibbleArray(TESTS);
    time = System.currentTimeMillis();
    for (int i = 0; i < TESTS; i++) {
        array3.set(i, (byte) (i % 15));
    }
    System.out.println(String.format(MESSAGE, "AtomicNibbleArray", TESTS, System.currentTimeMillis() - time));
}
Also used : AtomicIntegerArray(java.util.concurrent.atomic.AtomicIntegerArray) AtomicShortArray(org.lanternpowered.server.util.collect.array.concurrent.AtomicShortArray) AtomicByteArray(org.lanternpowered.server.util.collect.array.concurrent.AtomicByteArray) AtomicNibbleArray(org.lanternpowered.server.util.collect.array.concurrent.AtomicNibbleArray)

Example 4 with AtomicShortArray

use of org.lanternpowered.server.util.collect.array.concurrent.AtomicShortArray in project LanternServer by LanternPowered.

the class AtomicShortArrayTest method testArrayConstructor.

@Test
public void testArrayConstructor() {
    short[] values = { B, A, C, D, E };
    AtomicShortArray array = new AtomicShortArray(values);
    assertEquals(array.length(), values.length);
    for (int i = 0; i < values.length; i++) {
        assertEquals(values[i], array.get(i));
        array.set(i, (byte) i);
        assertEquals(i, array.get(i));
    }
}
Also used : AtomicShortArray(org.lanternpowered.server.util.collect.array.concurrent.AtomicShortArray) Test(org.junit.Test)

Example 5 with AtomicShortArray

use of org.lanternpowered.server.util.collect.array.concurrent.AtomicShortArray in project LanternServer by LanternPowered.

the class AtomicShortArrayTest method testCompareAndSet.

@Test
public void testCompareAndSet() {
    AtomicShortArray array = new AtomicShortArray(SIZE);
    for (int i = 0; i < SIZE; i++) {
        array.set(i, A);
        assertTrue(array.compareAndSet(i, A, B));
        assertTrue(array.compareAndSet(i, B, C));
        assertEquals(C, array.get(i));
        assertFalse(array.compareAndSet(i, D, E));
        assertEquals(C, array.get(i));
        assertTrue(array.compareAndSet(i, C, E));
        assertEquals(E, array.get(i));
    }
}
Also used : AtomicShortArray(org.lanternpowered.server.util.collect.array.concurrent.AtomicShortArray) Test(org.junit.Test)

Aggregations

AtomicShortArray (org.lanternpowered.server.util.collect.array.concurrent.AtomicShortArray)6 Test (org.junit.Test)5 AtomicIntegerArray (java.util.concurrent.atomic.AtomicIntegerArray)1 AtomicByteArray (org.lanternpowered.server.util.collect.array.concurrent.AtomicByteArray)1 AtomicNibbleArray (org.lanternpowered.server.util.collect.array.concurrent.AtomicNibbleArray)1