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.
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.
It is my goal to take what I've learned from these results and apply this knowledge into making nano-signal-slot better.
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.
The individual benchmark algorithms are completely generic through templates.
Algorithm | Description |
---|---|
validation_assert | Make sure each signal implementation is functioning correctly. |
construction | Time the construction of a Signal to an N number of Foo instances. |
destruction | Time the destruction of a Signal and associated Connections to N number of Foo instances. |
connection | Time Signal connections to a randomized N number of Foo instances. |
emission | Time the duration of an N slot emission. |
combined | Time construction, destruction, connection, and emission together. |
threaded | Same as the "combined" test except threaded using a shared Signal. |