Skip to content

updating the reflection benchmarks#2598

Merged
lemire merged 3 commits intomasterfrom
updating_reflection_bench
Feb 2, 2026
Merged

updating the reflection benchmarks#2598
lemire merged 3 commits intomasterfrom
updating_reflection_bench

Conversation

@lemire
Copy link
Member

@lemire lemire commented Jan 29, 2026

In our main branch, the C++26 reflection benchmarks were outdated (and wrong). This PR merges the changes @FranciscoThiesen's separate branch (francisco/ablation_study) with a few additional fixes:

  • The file benchmark/static_reflect/citm_catalog_benchmark/rapidjson_citm_catalog_data.h did not build and appeared to be out of sync. Basically, some values have been optionals, and the code did not reflect that.
  • Though it is not part of our public API, one overload to the simdjson::builder::to_json function returned a simdjson_error (which is an exception) instead of a simdjson::error_code (which is just a number, essentially). This was a bug in the main library (although unlikely to affect anyone at this time since it is not a documented function). Of course, I caught this because because I added checks for the return values (the error).
  • I have updated our p2996/README.md so that it is clearer.
  • I have also switched some simdjson functions from exception-based to exception-less. (This is not very important).

I note that Nlohmann parsing is disabled for the twitter dataset.

Note that @FranciscoThiesen's branch is not quite in sync as far as the main library is concerned, so there are some differences, possibly.

p2996/README.md Outdated
CXX=clang++ cmake -B buildreflect -D SIMDJSON_STATIC_REFLECTION=ON -DSIMDJSON_DEVELOPER_MODE=ON
```
This only needs to be done once. To build the Rust code, add `-D SIMDJSON_USE_RUST=ON`.
This only needs to be done once. To build the Rust code, add `-D SIMDJSON_USE_RUST=ON`. Note that you should have Rust on your system as a prerequiste for this option to be meaningful.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: prerequisite

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks.

@lemire
Copy link
Member Author

lemire commented Feb 2, 2026

Merging.

@lemire lemire merged commit 8c5cc8c into master Feb 2, 2026
158 checks passed
@lemire lemire deleted the updating_reflection_bench branch February 2, 2026 16:28
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