diff options
| author | Martin Hořeňovský | 2025-07-20 18:40:05 +0200 |
|---|---|---|
| committer | Martin Hořeňovský | 2025-07-20 21:01:10 +0200 |
| commit | 715558fd97a48533fd41cb7dddf23b05d333cec6 (patch) | |
| tree | 1a80031937207f8776ff0f5c33b9b1f513b95fef /src/catch2/internal/catch_context.cpp | |
| parent | 55b14e1b3482e1233f0fbf41dee8dceebee8db1e (diff) | |
| download | catch3-715558fd97a48533fd41cb7dddf23b05d333cec6.tar.gz | |
Use the fast path for passing assertions in RunContext::handleNonExpr
`handleNonExpr` is responsible for handling assertions that do not
result in a decomposable expression, e.g. `REQUIRE_THROWS`, or
`REQUIRE_NOTHROW`.
Running benchmark on these two macros specifically, with
`REQUIRE_THROWS([](){ throw 1; }())`, and `REQUIRE_NOTHROW([](){}())`,
we get these speedups:
| | Debug | Release |
|---------|--------|---------|
| THROWS | 3.69x | 2.10x |
| NOTHROW | 1.18x | 1.05x |
Obviously the actual performance improvement is dependent on
how expensive the expression under test is.
Diffstat (limited to 'src/catch2/internal/catch_context.cpp')
0 files changed, 0 insertions, 0 deletions