getml / reflect-cpp

A C++20 library for fast serialization, deserialization and validation using reflection. Supports JSON, BSON, CBOR, flexbuffers, msgpack, TOML, XML, YAML / msgpack.org[C++20]
https://getml.github.io/reflect-cpp/
MIT License
821 stars 66 forks source link

Add continuous benchmarking #70

Closed liuzicheng1987 closed 1 month ago

liuzicheng1987 commented 4 months ago

In addition to the tests we currently run, it would be good idea to add extensive benchmarking using Google Benchmark.

https://github.com/google/benchmark

This would serve two purposes:

  1. Quantify and continually monitor the overhead of the reflection API over manual solutions.
  2. Compare the performance of the different serialization formats.

Recent benchmarks have indicated that the overhead mentioned in 1 is negligible, but a more formal and continuous monitoring would be very helpful.