| Framework | Version | Standard | License | Linkage | Test configuration | 
|---|---|---|---|---|---|
| Boost.Test | 1.71.0 | C++03 | Boost 1.0 | single header/library | static library | 
| GoogleTest | 1.10.0 | C++11 | BSD-3 | library | static library | 
| Catch | 2.10.2 | C++11 | Boost 1.0 | single header | CATCH_CONFIG_FAST_COMPILE | 
| Doctest | 2.3.5 | C++11 | MIT | single header | DOCTEST_CONFIG_SUPER_FAST_ASSERTS | 
| μt | 1.1.0 | C++20 | Boost 1.0 | single header/module | 
| Include / 0 tests, 0 asserts, 1 cpp file | |||
![]()  | 
    |||
| Assert / 1 test, 1'000'000 asserts, 1 cpp file | |||
![]()  | 
    ![]()  | 
    ![]()  | 
  |
| Test / 1'000 tests, 0 asserts, 1 cpp file | |||
![]()  | 
    ![]()  | 
    ![]()  | 
  |
| Suite / 10'000 tests, 0 asserts, 100 cpp files | |||
![]()  | 
    ![]()  | 
    ![]()  | 
  |
| Suite+Assert / 10'000 tests, 40'000 asserts, 100 cpp files | |||
![]()  | 
    ![]()  | 
    ![]()  | 
  |
| Suite+Assert+STL / 10'000 tests, 20'000 asserts, 100 cpp files | |||
![]()  | 
    ![]()  | 
    ![]()  | 
  |
| Incremental Build - Suite+Assert+STL / 1 cpp file change (1'000 tests, 20'000 asserts, 100 cpp files) | |||
![]()  | 
    ![]()  | 
    ![]()  | 
  |
| 
    Suite+Assert+STL / 10'000 tests, 20'000 asserts, 100 cpp files (Headers vs Precompiled headers vs C++20 Modules)  | 
  |||
![]()  | 
    ![]()  | 
    ![]()  | 
  |
cd benchmarks && ./bench.sh





















