We're testing Protobuf and JSON.
Schemas are provided by OpenConfig.
Benchmarking across languages, so see if acceptable performance is possible in each scenario.
Want to cover formats:
- JSON
- Protobuf
- XML (low-priority)
Languages:
- C / C++ (also using C frameworks)
- jsoncpp
- Google Protobuf
- protobuf-c
- Python (also Cython?)
- stdlib JSON
- Google Protobuf
- ujson
- Go
- stdlib JSON
- Google Protobuf
- YGOT Marshal
- Rust
- quick-protobuf
- rust-protobuf
- stdlib json
Operations:
- Serialize
- Deserialize
Data:
- Small messages (~1kB)
- Big messages (~10 MB)
Running the tests is fairly simple, just issue the following two commands:
# Run the actual tests. This may take a while.
make
# Plot the results
./plot_results