Home / Class/ QueryStringDecoderBenchmark Class — netty Architecture

QueryStringDecoderBenchmark Class — netty Architecture

Architecture documentation for the QueryStringDecoderBenchmark class in QueryStringDecoderBenchmark.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  aa465af0_70a6_b3b7_8e92_dce611a2c032["QueryStringDecoderBenchmark"]
  55baea5e_d96e_cae3_fd99_837207f2c854["QueryStringDecoderBenchmark.java"]
  aa465af0_70a6_b3b7_8e92_dce611a2c032 -->|defined in| 55baea5e_d96e_cae3_fd99_837207f2c854
  ba181479_d84d_63f8_514b_1888888759d6["noDecoding()"]
  aa465af0_70a6_b3b7_8e92_dce611a2c032 -->|method| ba181479_d84d_63f8_514b_1888888759d6
  97c4e3d8_4e6b_744e_bb14_4e913046ac20["onlyDecoding()"]
  aa465af0_70a6_b3b7_8e92_dce611a2c032 -->|method| 97c4e3d8_4e6b_744e_bb14_4e913046ac20
  fa61267c_b580_da31_770c_767060bd3b5e["mixedDecoding()"]
  aa465af0_70a6_b3b7_8e92_dce611a2c032 -->|method| fa61267c_b580_da31_770c_767060bd3b5e
  cdbc40c1_e3e5_ae8b_f86b_58776f0deb33["nonStandardDecoding()"]
  aa465af0_70a6_b3b7_8e92_dce611a2c032 -->|method| cdbc40c1_e3e5_ae8b_f86b_58776f0deb33

Relationship Graph

Source Code

microbench/src/main/java/io/netty/handler/codec/http/QueryStringDecoderBenchmark.java lines 30–66

@Threads(1)
@Warmup(iterations = 3)
@Measurement(iterations = 3)
@OutputTimeUnit(TimeUnit.MICROSECONDS)
public class QueryStringDecoderBenchmark extends AbstractMicrobenchmark {

    private static final Charset SHIFT_JIS = Charset.forName("Shift-JIS");

    @Benchmark
    public Map<String, List<String>> noDecoding() {
        return new QueryStringDecoder("foo=bar&cat=dog", false).parameters();
    }

    @Benchmark
    public Map<String, List<String>> onlyDecoding() {
        // ほげ=ぼけ&ねこ=いぬ
        return new QueryStringDecoder("%E3%81%BB%E3%81%92=%E3%81%BC%E3%81%91&%E3%81%AD%E3%81%93=%E3%81%84%E3%81%AC",
                                      false)
                .parameters();
    }

    @Benchmark
    public Map<String, List<String>> mixedDecoding() {
        // foo=bar&ほげ=ぼけ&cat=dog&ねこ=いぬ
        return new QueryStringDecoder("foo=bar%E3%81%BB%E3%81%92=%E3%81%BC%E3%81%91&cat=dog&" +
                                      "&%E3%81%AD%E3%81%93=%E3%81%84%E3%81%AC", false)
                .parameters();
    }

    @Benchmark
    public Map<String, List<String>> nonStandardDecoding() {
        // ほげ=ぼけ&ねこ=いぬ in Shift-JIS
        return new QueryStringDecoder("%82%D9%82%B0=%82%DA%82%AF&%82%CB%82%B1=%82%A2%82%CA",
                                      SHIFT_JIS, false)
                .parameters();
    }
}

Frequently Asked Questions

What is the QueryStringDecoderBenchmark class?
QueryStringDecoderBenchmark is a class in the netty codebase, defined in microbench/src/main/java/io/netty/handler/codec/http/QueryStringDecoderBenchmark.java.
Where is QueryStringDecoderBenchmark defined?
QueryStringDecoderBenchmark is defined in microbench/src/main/java/io/netty/handler/codec/http/QueryStringDecoderBenchmark.java at line 30.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free