RFR: 8282047: Enhance StringDecode/Encode microbenchmarks

Claes Redestad redestad at openjdk.java.net
Thu Feb 17 15:18:27 UTC 2022


Splitting out these micro changes from #7231

- Clean up and simplify setup and code
- Add variants with different inputs with varying lengths and encoding weights, but also relevant mixes of each so that we both cover interesting corner cases but also verify that performance behave when there's a multitude of input shapes. Both simple and mixed variants are interesting diagnostic tools.
- Drop all charsets from the default run configuration except UTF-8. Motivation: Defaults should give good coverage but try to keep runtimes at bay. Additionally if the charset tested can't encode the higher codepoints used in these micros the results might be misleading. If you for example test using ISO-8859-1 the UTF-16 bytes in StringDecode.decodeUTF16 will have all been replaced by `?`, so the test is effectively the same as testing ASCII-only.

-------------

Commit messages:
 - Rearrange and align names
 - Add inputs with only latin1 and UTF16 codepoints
 - Drop encodeAsciiCharsetName, align names
 - Enhance StringDecode/Encode micros

Changes: https://git.openjdk.java.net/jdk/pull/7516/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7516&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8282047
  Stats: 297 lines in 2 files changed: 162 ins; 82 del; 53 mod
  Patch: https://git.openjdk.java.net/jdk/pull/7516.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/7516/head:pull/7516

PR: https://git.openjdk.java.net/jdk/pull/7516


More information about the core-libs-dev mailing list