public static void main(final String[] args) { for (int i = 0; i < 10; i++) { perfTestEncode(i); perfTestDecode(i); } }
private static void perfTestEncode(final int runNumber) { final int reps = 10 * 1000 * 1000; final MyState state = new MyState(); final MarketDataBenchmark benchmark = new MarketDataBenchmark(); final long start = System.nanoTime(); for (int i = 0; i < reps; i++) { benchmark.testEncode(state); } final long totalDuration = System.nanoTime() - start; System.out.printf( "%d - %d(ns) average duration for %s.testEncode() - message encodedLength %d%n", runNumber, totalDuration / reps, benchmark.getClass().getName(), state.marketDataEncoder.encodedLength() + state.messageHeaderEncoder.encodedLength()); }
private static void perfTestDecode(final int runNumber) { final int reps = 10 * 1000 * 1000; final MyState state = new MyState(); final MarketDataBenchmark benchmark = new MarketDataBenchmark(); final long start = System.nanoTime(); for (int i = 0; i < reps; i++) { benchmark.testDecode(state); } final long totalDuration = System.nanoTime() - start; System.out.printf( "%d - %d(ns) average duration for %s.testDecode() - message encodedLength %d%n", runNumber, totalDuration / reps, benchmark.getClass().getName(), state.marketDataDecoder.encodedLength() + state.messageHeaderDecoder.encodedLength()); } }
@Benchmark @BenchmarkMode(Mode.AverageTime) public int testEncode(final MyState state) { final MarketDataIncrementalRefreshTradesEncoder marketData = state.marketDataEncoder; final MessageHeaderEncoder messageHeader = state.messageHeaderEncoder; final UnsafeBuffer buffer = state.encodeBuffer; final int bufferIndex = state.bufferIndex; encode(messageHeader, marketData, buffer, bufferIndex); return marketData.encodedLength(); }
@Benchmark @BenchmarkMode(Mode.AverageTime) public int testDecode(final MyState state) { final MarketDataIncrementalRefreshTradesDecoder marketData = state.marketDataDecoder; final MessageHeaderDecoder messageHeader = state.messageHeaderDecoder; final UnsafeBuffer buffer = state.decodeBuffer; final int bufferIndex = state.bufferIndex; decode(messageHeader, marketData, buffer, bufferIndex); return marketData.encodedLength(); }