@Override public long getLongSingleValueRow(int rowNum) { return column.get(rowNum); }
@Benchmark public void readSkipping(Blackhole bh) { ColumnarLongs columnarLongs = supplier.get(); int count = columnarLongs.size(); for (int i = 0; i < count; i += ThreadLocalRandom.current().nextInt(2000)) { bh.consume(columnarLongs.get(i)); } columnarLongs.close(); }
@Benchmark public void readContinuous(Blackhole bh) { ColumnarLongs columnarLongs = supplier.get(); int count = columnarLongs.size(); for (int i = 0; i < count; i++) { bh.consume(columnarLongs.get(i)); } columnarLongs.close(); }
for (int j = 0; j < indexed.size(); ++j) { final long val = vals[j]; final long indexedVal = indexed.get(j); if (Longs.compare(val, indexedVal) != 0) { failureHappened.set(true);
for (int j = indexed2.size() - 1; j >= 0; --j) { final long val = vals[j]; final long indexedVal = indexed2.get(j); if (Longs.compare(val, indexedVal) != 0) { failureHappened.set(true);
private void assertIndexMatchesVals(ColumnarLongs indexed, long[] vals) { Assert.assertEquals(vals.length, indexed.size()); for (int i = 0; i < indexed.size(); ++i) { Assert.assertEquals( StringUtils.format( "Value [%d] at row '%d' does not match [%d]", indexed.get(i), i, vals[i] ), vals[i], indexed.get(i) ); } } }
private void assertIndexMatchesVals(ColumnarLongs indexed, long[] vals) { Assert.assertEquals(vals.length, indexed.size()); // sequential access int[] indices = new int[vals.length]; for (int i = 0; i < indexed.size(); ++i) { Assert.assertEquals(vals[i], indexed.get(i)); indices[i] = i; } // random access, limited to 1000 elements for large lists (every element would take too long) IntArrays.shuffle(indices, ThreadLocalRandom.current()); final int limit = Math.min(indexed.size(), 1000); for (int i = 0; i < limit; ++i) { int k = indices[i]; Assert.assertEquals(vals[k], indexed.get(k)); } }
@Override public long getLongSingleValueRow(int rowNum) { return column.get(rowNum); }