Skip to content

Latest commit

 

History

History
37 lines (23 loc) · 1.01 KB

File metadata and controls

37 lines (23 loc) · 1.01 KB

How to contribute

Building mqtt5 requires Rust and the uv package manager.

Tests

You can run the tests with:

./scripts/test

Benchmarks

The 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 --quiet

Add 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.

Benchmark chart

The chart in the README is generated from the Vega Lite spec in chart.vl.json. To update it:

  1. Run uv run bench.py --quiet --compare --packets "publish(qos1" to get the latest numbers
  2. Update the values in chart.vl.json
  3. Paste the spec into the Vega Lite Editor and export as SVG

Release

  1. Adjust the version in Cargo.toml
  2. Update the CHANGELOG.md
  3. Create a new release on GitHub