@@ -0,0 +1,1998 @@
+package com.paritytrading.philadelphia;%0A%0Aimport static com.paritytrading.philadelphia.fix42.FIX42Enumerations.*;%0Aimport static com.paritytrading.philadelphia.fix42.FIX42MsgTypes.*;%0Aimport static com.paritytrading.philadelphia.fix42.FIX42Tags.*;%0A%0Aimport org.openjdk.jmh.annotations.Benchmark;%0Aimport org.openjdk.jmh.annotations.Level;%0Aimport org.openjdk.jmh.annotations.Setup;%0A%0Aimport java.io.IOException;%0Aimport java.nio.ByteBuffer;%0A%0Apublic class FIXMessageParserBenchmark extends FIXBenchmark %7B%0A%0A    private ByteBuffer buffer;%0A%0A    private FIXMessageParser messageParser;%0A%0A    @Setup(Level.Iteration)%0A    public void prepare() %7B%0A        FIXMessage message = new FIXMessage(64, 64);%0A%0A        format(message);%0A%0A        buffer = ByteBuffer.allocateDirect(1024);%0A%0A        message.put(buffer);%0A%0A        buffer.flip();%0A%0A        FIXConfig fixConfig = new FIXConfig.Builder().build();%0A%0A        messageParser = new FIXMessageParser(fixConfig, listener -%3E %7B%7D);%0A    %7D%0A%0A    private void format(FIXMessage message) %7B%0A        message.addField(BeginString).setString(%22FIX.4.2%22);%0A        message.addField(BodyLength).setInt(74);%0A        message.addField(MsgType).setChar(OrderSingle);%0A        message.addField(SenderCompID).setString(%22initiator%22);%0A        message.addField(TargetCompID).setString(%22acceptor%22);%0A        message.addField(MsgSeqNum).setInt(2);%0A        message.addField(ClOrdID).setString(%22123%22);%0A        message.addField(HandlInst).setChar(HandlInstValues.AutomatedExecutionNoIntervention);%0A        message.addField(Symbol).setString(%22FOO%22);%0A        message.addField(Side).setChar(SideValues.Buy);%0A        message.addField(OrdType).setChar(OrdTypeValues.Limit);%0A        message.addField(Price).setFloat(150.25, 2);%0A        message.addField(CheckSum).setCheckSum(75);%0A    %7D%0A%0A    @Benchmark%0A    public void baseline() %7B%0A    %7D%0A%0A    @Benchmark%0A    public boolean parse() throws IOException %7B%0A        boolean success = messageParser.parse(buffer);%0A%0A        buffer.flip();%0A%0A        return success;%0A    %7D%0A%7D%0A

Add FIXMessageParser benchmark