JWTDecoderBenchmark.java

package com.auth0.jwt.benchmark;

import com.auth0.jwt.JWT;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.BenchmarkMode;
import org.openjdk.jmh.annotations.Mode;
import org.openjdk.jmh.infra.Blackhole;

/**
 * This class is a JMH benchmark for decoding JWTs.
 */
public class JWTDecoderBenchmark {
    private static final String TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ";

    @Benchmark
    @BenchmarkMode(Mode.Throughput)
    public void throughputDecodeTime(Blackhole blackhole) {
        blackhole.consume(JWT.decode(TOKEN));
    }
}