docs: public static void main(String[] args) {
      BenchmarkSettings settings =
          BenchmarkSettings.from(args).durationUnit(TimeUnit.NANOSECONDS).build();
  
      new GwMessageCodecBenchmarkState(settings)
          .runForSync(
              state -> {
                GatewayMessageCodec codec = state.codec();
                GatewayMessage message = state.message();
                BenchmarkTimer timer = state.timer("timer");
                BenchmarkMeter meter = state.meter("meter");
  
                return i -> {
                  Context timerContext = timer.time();
                  ByteBuf bb = codec.encode(message);
                  timerContext.stop();
                  meter.mark();
                  bb.release();
                  return bb;
                };
              });
    }