Skip to content

Update and expand benchmarks#27

Open
starksm64 wants to merge 1 commit intoquarkusio:masterfrom
starksm64:master
Open

Update and expand benchmarks#27
starksm64 wants to merge 1 commit intoquarkusio:masterfrom
starksm64:master

Conversation

@starksm64
Copy link

I was looking for the state of json parsers and wanted to benchmark QSON against the latest. This PR adds 3 more parser and 1 writer benchmarks.

  • Add Jackson Blackbird test
  • Add DSL-JSON test
  • Add custom Jackson deserializer test
  • Update to build under Java 25
  • Update Gson, JMH versions

Output for a couple run on M1 Max Studio box:

starksm@Scotts-Mac-Studio benchmark % java --version
openjdk 25 2025-09-16 LTS
OpenJDK Runtime Environment Temurin-25+36 (build 25+36-LTS)
OpenJDK 64-Bit Server VM Temurin-25+36 (build 25+36-LTS, mixed mode, sharing)

# Run 1
starksm@Scotts-Mac-Studio benchmark % java -jar target/benchmarks.jar
...
# Run complete. Total time: 00:07:22

Benchmark                             Mode  Cnt       Score   Error  Units
MyBenchmark.testParserAfterburner    thrpt    2  500034.352          ops/s
MyBenchmark.testParserBlackbird      thrpt    2  495454.638          ops/s
MyBenchmark.testParserDslJson        thrpt    2  436869.282          ops/s
MyBenchmark.testParserGson           thrpt    2  255010.268          ops/s
MyBenchmark.testParserJackson        thrpt    2  453697.162          ops/s
MyBenchmark.testParserJacksonCustom  thrpt    2  526251.088          ops/s
MyBenchmark.testParserQson           thrpt    2  357736.241          ops/s
MyBenchmark.testWriterAfterburner    thrpt    2  472105.002          ops/s
MyBenchmark.testWriterBlackbird      thrpt    2  443798.296          ops/s
MyBenchmark.testWriterJackson        thrpt    2  376696.783          ops/s
MyBenchmark.testWriterQson           thrpt    2  916675.197          ops/s

# Run 2
starksm@Scotts-Mac-Studio benchmark % java -jar target/benchmarks.jar
...
# Run complete. Total time: 00:07:23

Benchmark                             Mode  Cnt       Score   Error  Units
MyBenchmark.testParserAfterburner    thrpt    2  494117.103          ops/s
MyBenchmark.testParserBlackbird      thrpt    2  501884.287          ops/s
MyBenchmark.testParserDslJson        thrpt    2  446400.870          ops/s
MyBenchmark.testParserGson           thrpt    2  261368.387          ops/s
MyBenchmark.testParserJackson        thrpt    2  454672.119          ops/s
MyBenchmark.testParserJacksonCustom  thrpt    2  526602.243          ops/s
MyBenchmark.testParserQson           thrpt    2  379997.685          ops/s
MyBenchmark.testWriterAfterburner    thrpt    2  470261.490          ops/s
MyBenchmark.testWriterBlackbird      thrpt    2  439389.472          ops/s
MyBenchmark.testWriterJackson        thrpt    2  381855.038          ops/s
MyBenchmark.testWriterQson           thrpt    2  995675.929          ops/s

- Add DSL-JSON test
- Add custom Jackson deserializer test
- Update to build under Java 25
- Update Gson, JMH versions

Signed-off-by: Scott M Stark <starksm@starkinternational.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant