Building mqtt5 requires Rust and the uv package manager.
You can run the tests with:
./scripts/testThe benchmarks use pyperf.timeit to avoid introducing unnecessary overhead (e.g. additional Python function calls).
You can run the benchmarks with:
uv run bench.py --fast --quietAdd the --compare flag to benchmark against mqttproto. Add the --packets argument to run the benchmarks only for certain packets e.g. --packets publish --packets puback.
The chart in the README is generated from the Vega Lite spec in chart.vl.json. To update it:
- Run
uv run bench.py --quiet --compare --packets "publish(qos1"to get the latest numbers - Update the values in
chart.vl.json - Paste the spec into the Vega Lite Editor and export as SVG
- Adjust the version in
Cargo.toml - Update the
CHANGELOG.md - Create a new release on GitHub