Description
Describe the current state
The current development pace is favoring completeness over performance.
In this regard, some concerns have been raised about the use of locking via mutexes.
Describe the desired state
We should have a benchmark test suite, able to detect regressions in CI but most importantly able to indicate if alternative implementations yield more performant code.
Proposed solution
Ideally we'll have a separate test suite for each signal, at a minimum it should be possible to run the benchmarks for single signal at a time.
The benchmark suite can be structured either with microbenchmarks on the sensitive parts of the signals' API/SDK, or as a end-to-end suite that benchmarks a reference implementation (just like we have example
builds).