private static OGCGeometry readSimpleGeometry(BasicSliceInput input, Slice inputSlice, GeometrySerializationType type, int length) { int currentPosition = toIntExact(input.position()); ByteBuffer geometryBuffer = inputSlice.toByteBuffer(currentPosition, length).slice(); input.setPosition(currentPosition + length); Geometry esriGeometry = OperatorImportFromESRIShape.local().execute(0, Unknown, geometryBuffer); return createFromEsriGeometry(esriGeometry, type.geometryType().isMultitype()); }
@Benchmark public Object baselineLength1(BenchmarkData data) throws Throwable { data.input.setPosition(0); unpackGeneric(data.buffer, 0, 1, data.bits, data.input); return data.buffer; }
@Benchmark public Object optimizedLength1(BenchmarkData data) throws Throwable { data.input.setPosition(0); data.packer.unpack(data.buffer, 0, 1, data.bits, data.input); return data.buffer; }
@Benchmark @OperationsPerInvocation(5) public Object baselineLength5(BenchmarkData data) throws Throwable { data.input.setPosition(0); unpackGeneric(data.buffer, 0, 5, data.bits, data.input); return data.buffer; }
@Benchmark @OperationsPerInvocation(6) public Object baselineLength6(BenchmarkData data) throws Throwable { data.input.setPosition(0); unpackGeneric(data.buffer, 0, 6, data.bits, data.input); return data.buffer; }
@Benchmark @OperationsPerInvocation(5) public Object optimizedLength5(BenchmarkData data) throws Throwable { data.input.setPosition(0); data.packer.unpack(data.buffer, 0, 5, data.bits, data.input); return data.buffer; }
@Benchmark @OperationsPerInvocation(7) public Object optimizedLength7(BenchmarkData data) throws Throwable { data.input.setPosition(0); data.packer.unpack(data.buffer, 0, 7, data.bits, data.input); return data.buffer; }
@Benchmark @OperationsPerInvocation(4) public Object baselineLength4(BenchmarkData data) throws Throwable { data.input.setPosition(0); unpackGeneric(data.buffer, 0, 4, data.bits, data.input); return data.buffer; }
@Benchmark @OperationsPerInvocation(3) public Object optimizedLength3(BenchmarkData data) throws Throwable { data.input.setPosition(0); data.packer.unpack(data.buffer, 0, 3, data.bits, data.input); return data.buffer; }
@Benchmark @OperationsPerInvocation(3) public Object baselineLength3(BenchmarkData data) throws Throwable { data.input.setPosition(0); unpackGeneric(data.buffer, 0, 3, data.bits, data.input); return data.buffer; }
@Benchmark @OperationsPerInvocation(4) public Object optimizedLength4(BenchmarkData data) throws Throwable { data.input.setPosition(0); data.packer.unpack(data.buffer, 0, 4, data.bits, data.input); return data.buffer; }
@Benchmark @OperationsPerInvocation(2) public Object baselineLength2(BenchmarkData data) throws Throwable { data.input.setPosition(0); unpackGeneric(data.buffer, 0, 2, data.bits, data.input); return data.buffer; }
@Benchmark @OperationsPerInvocation(7) public Object baselineLength7(BenchmarkData data) throws Throwable { data.input.setPosition(0); unpackGeneric(data.buffer, 0, 7, data.bits, data.input); return data.buffer; }
@Benchmark @OperationsPerInvocation(256) public Object baselineLength256(BenchmarkData data) throws Throwable { data.input.setPosition(0); unpackGeneric(data.buffer, 0, 256, data.bits, data.input); return data.buffer; }
@Benchmark @OperationsPerInvocation(2) public Object optimizedLength2(BenchmarkData data) throws Throwable { data.input.setPosition(0); data.packer.unpack(data.buffer, 0, 2, data.bits, data.input); return data.buffer; }
@Benchmark @OperationsPerInvocation(6) public Object optimizedLength6(BenchmarkData data) throws Throwable { data.input.setPosition(0); data.packer.unpack(data.buffer, 0, 6, data.bits, data.input); return data.buffer; }
@Benchmark @OperationsPerInvocation(256) public Object optimizedLength256(BenchmarkData data) throws Throwable { data.input.setPosition(0); data.packer.unpack(data.buffer, 0, 256, data.bits, data.input); return data.buffer; }
@Benchmark @OperationsPerInvocation(2) public Object optimizedLength2(BenchmarkData data) throws Throwable { data.input.setPosition(0); data.packer.unpack(data.buffer, 0, 2, data.bits, data.input); return data.buffer; }
@Benchmark @OperationsPerInvocation(7) public Object optimizedLength7(BenchmarkData data) throws Throwable { data.input.setPosition(0); data.packer.unpack(data.buffer, 0, 7, data.bits, data.input); return data.buffer; }
@Benchmark @OperationsPerInvocation(5) public Object baselineLength5(BenchmarkData data) throws Throwable { data.input.setPosition(0); unpackGeneric(data.buffer, 0, 5, data.bits, data.input); return data.buffer; }