Awesome
signal-slot-benchmarks
Comprehensive benchmarks for a majority of GitHub c++ signal slot implementations and others. <br/> 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. <br/> However, these benchmarks were designed to provide impartial results regardless of implementation. <br/>
Tested Environments
<div style="text-align:center; margin-bottom:1em;">click to view results</div> <div style="text-align:center; display:flex;"> <div style="flex:1;"> <a href="/results/benchmarks_msvc/README.md"> <button type="button" style="padding:2em; cursor:pointer; font-size:2em; width:90%;"> MSVC (Windows) [RECENTLY UPDATED] </button> </a> </div> <div style="flex:1;"> <a href="/results/benchmarks_gcc/README.md"> <button type="button" style="padding:2em; cursor:pointer; font-size:2em; width:90%;"> GCC (Linux) [HELP WANTED] </button> </a> </div> </div>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. |