Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Update benchmark dependencies#31

Merged
piotrrzysko merged 1 commit into
simdjson:mainsimdjson/simdjson-java:mainfrom
plokhotnyuk:mainplokhotnyuk/simdjson-java:mainCopy head branch name to clipboard
Nov 26, 2023
Merged

Update benchmark dependencies#31
piotrrzysko merged 1 commit into
simdjson:mainsimdjson/simdjson-java:mainfrom
plokhotnyuk:mainplokhotnyuk/simdjson-java:mainCopy head branch name to clipboard

Conversation

@plokhotnyuk

@plokhotnyuk plokhotnyuk commented Nov 26, 2023

Copy link
Copy Markdown
Contributor

Results on Intel® Core™ i7-11800H CPU @ 2.3GHz (max 4.6GHz), RAM 64Gb DDR4-3200, Ubuntu 23.10 (Linux 6.6.1) with JDK 21 (Java HotSpot(TM) 64-Bit Server VM, 21+35-LTS-2513):

Benchmark                                                                   Mode  Cnt     Score     Error  Units
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_fastjson        thrpt    5   914.874 ±  42.911  ops/s
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_jackson         thrpt    5   816.881 ±  14.097  ops/s
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_jsoniter        thrpt    5   527.052 ±  66.106  ops/s
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_jsoniter_scala  thrpt    5  2476.427 ±  42.218  ops/s
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_simdjson        thrpt    5  2382.208 ±  16.461  ops/s
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_simdjsonPadded  thrpt    5  2472.811 ± 111.562  ops/s

@piotrrzysko

Copy link
Copy Markdown
Member

Thanks!

@piotrrzysko piotrrzysko merged commit 1f9074d into simdjson:main Nov 26, 2023
@plokhotnyuk

Copy link
Copy Markdown
Contributor Author

@piotrrzysko I've relaunched benchmarks on the same environment after merged #13 and got following results:

Benchmark                                                                   Mode  Cnt     Score    Error  Units
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_fastjson        thrpt    5   931.609 ± 59.739  ops/s
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_jackson         thrpt    5   833.133 ± 29.339  ops/s
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_jsoniter        thrpt    5   549.024 ± 39.648  ops/s
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_jsoniter_scala  thrpt    5  2448.460 ± 41.755  ops/s
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_simdjson        thrpt    5  1060.051 ± 31.904  ops/s
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_simdjsonPadded  thrpt    5  1078.887 ± 23.682  ops/s

Would it be possible to turn off UTF-8 validation optionally?

@piotrrzysko

Copy link
Copy Markdown
Member

I'm planning to add such an option. However, I believe validation should be enabled by default. I'm currently exploring other options to improve the performance, such as the on-demand API available in the C++ version of simdjson, along with support for 512-bit vectors in the utf-8 validator.

@piotrrzysko

Copy link
Copy Markdown
Member

BTW, would you mind running the same benchmark from this branch: https://github.com/simdjson/simdjson-java/tree/utf8-experiments? This branch introduces support for 512-bit vectors, and if I'm not mistaken, your CPU supports AVX-512 instructions.

@plokhotnyuk

Copy link
Copy Markdown
Contributor Author

Here are results from the current state of utf8-experiments branch (I wasn't able to rebase it over the current main due to a lot of conflicts):

Benchmark                                                                   Mode  Cnt     Score    Error  Units
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_fastjson        thrpt    5   926.479 ± 85.427  ops/s
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_jackson         thrpt    5   843.090 ± 26.506  ops/s
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_jsoniter        thrpt    5   539.741 ± 59.262  ops/s
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_jsoniter_scala  thrpt    5  2472.701 ± 17.107  ops/s
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_simdjson        thrpt    5  2264.005 ± 28.860  ops/s
ParseAndSelectBenchmark.countUniqueUsersWithDefaultProfile_simdjsonPadded  thrpt    5  2392.960 ± 45.448  ops/s

@piotrrzysko

Copy link
Copy Markdown
Member

Thanks.

Squiry pushed a commit to Squiry/simdjson-java that referenced this pull request Feb 29, 2024
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.

2 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.