signal-slot-benchmarks
May 30, 2020 ยท View on GitHub
Comprehensive benchmarks for a majority of GitHub c++ signal slot implementations and others.
Boost, as well as C++17 support, is required to build this project.
Foreword
These benchmarks do not accurately depict real world usage patterns seen in the wild.
However, these benchmarks were designed to provide impartial results regardless of implementation.
Tested Environments
click to view results
Maintainers
Generally, implementations that get added to this benchmark project aren't regularly updated by me unless asked to do so. If you are a maintainer of a referenced library, I encourage you to fork this project and create pull requests to expedite updates.
Benchmark Algorithms
The individual benchmark algorithms are completely generic through the use of templates.
| Algorithm | Description |
|---|---|
| validation_assert | Make sure each signal implementation is functioning correctly. |
| construction | Sample the default construction of N * N number of Signal instances. |
| destruction | Sample the destruction of N * N number of Signal instances. |
| connection | Sample Signal connections to N number of Foo instances. |
| disconnect | Sample disconnecting N number of Foo instances from a single Signal. |
| reconnect | Sample reconnecting N number of Foo instances to a global Signal. |
| emit | Sample the duration of an N slot emission. |
| all | Sample all previous benchmarks together in one combined benchmark. |
| threaded | Same as the previous benchmark but is now threaded. |