palacaze / signal-slot-benchmarks

Comprehensive benchmarks for a majority of GitHub c++ signal slot implementations and others.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

signal-slot-benchmarks

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.
It is my goal to take what I've learned from these results and apply this knowledge into making nano-signal-slot better.

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

About

Comprehensive benchmarks for a majority of GitHub c++ signal slot implementations and others.


Languages

Language:C++ 99.6%Language:CMake 0.2%Language:C 0.2%Language:Makefile 0.0%