Skip to content

Conversation

plokhotnyuk
Copy link
Contributor

@plokhotnyuk plokhotnyuk commented Jul 17, 2023

@piotrrzysko Thanks for porting of simdjson to Java!

This PR adds ParseAndSelectBenchmark for jsoniter-scala.

Results are quite competitive on my laptop (Intel® Core™ i7-11800H CPU @ 2.3GHz (max 4.6GHz), RAM 64Gb DDR4-3200, Ubuntu 23.04 (Linux 6.2) using OpenJDK 64-Bit Server VM Temurin-20.0.1+9:

Benchmark                                                                   Mode  Cnt     Score    Error  Units
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_fastjson        thrpt    5   916.814 ± 24.732  ops/s
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_jackson         thrpt    5   784.450 ±  1.973  ops/s
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_jsoniter        thrpt    5   602.781 ± 10.898  ops/s
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_jsoniter_scala  thrpt    5  2393.011 ± 28.473  ops/s
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_simdjson        thrpt    5  2295.253 ± 64.139  ops/s
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_simdjsonPadded  thrpt    5  2460.363 ± 42.452  ops/s

While it doesn't full validation of skipped values according to JSON spec, but it does just enough minimal validation to allow safe skipping of not needed keys and values.

@piotrrzysko
Copy link
Member

Thanks! I'll try to take a look at this today.

@piotrrzysko piotrrzysko merged commit 021867f into simdjson:main Jul 19, 2023
@Dieken
Copy link

Dieken commented Feb 16, 2024

@piotrrzysko Could you update the result in README.md to include jsoniter-scala?

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.

3 participants