@BenchmarkMode(Mode.AverageTime) @Fork(1) @State(Scope.Thread) @Warmup(iterations = 5, time = 1) @OutputTimeUnit(TimeUnit.NANOSECONDS) @Measurement(iterations = 10, time = 1) public class ReplaceAllPrecompiled { @Param({"", "somePathNoDoT", "some.Path.With.Dot"}) String value; private static final Pattern DOT_PATTERN = Pattern.compile("\\."); @Benchmark public String replaceAllWithPrecompiled() { return DOT_PATTERN.matcher(value).replaceAll("%2E"); } }