package io.gatling.jsonbenchmark.serialization; import com.fasterxml.jackson.databind.ObjectMapper; import org.openjdk.jmh.annotations.GenerateMicroBenchmark; import org.openjdk.jmh.annotations.OutputTimeUnit; import org.openjdk.jmh.logic.BlackHole; import java.util.concurrent.TimeUnit; public class JacksonByteArraySerializer { private static final ObjectMapper serializer = new ObjectMapper(); private Object serialize(AllTypes allTypes) throws Exception { return serializer.writeValueAsBytes( allTypes ); } private Object roundTrip(AllTypes alltype) throws Exception { byte[] bytes = serializer.writeValueAsBytes( alltype ); return serializer.readValue (bytes, AllTypes.class); } @GenerateMicroBenchmark @OutputTimeUnit( TimeUnit.SECONDS) public void serializeSmall(BlackHole bh) throws Exception { bh.consume(serialize(TestObjects.OBJECT)); } @GenerateMicroBenchmark @OutputTimeUnit(TimeUnit.SECONDS) public void roundTriper(BlackHole bh) throws Exception { bh.consume(roundTrip ( TestObjects.OBJECT )); } }