Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
path: root/tests/SelfTest/UsageTests/ToStringVector.tests.cpp
diff options
context:
space:
mode:
authorMartin Hořeňovský2025-09-23 15:23:58 +0200
committerMartin Hořeňovský2025-09-27 13:24:46 +0200
commit756ae05d307168eaa27bd904dbd8e591a6406889 (patch)
treee64236a5fde23db97284d9894348af6292676db2 /tests/SelfTest/UsageTests/ToStringVector.tests.cpp
parenta2e41916f2cc0adbd27fc3d9cb89e9615fea1ad8 (diff)
downloadcatch3-756ae05d307168eaa27bd904dbd8e591a6406889.tar.gz
Inline the `getResultCapture` helper into header.
We still keep the error check in the function, but hide it in an outlined function inside a .cpp file, to promote inlining of the retrieval part. In the future, we should explore two things 1) Skipping over the context retrieval here, allowing direct access. I currently do not see a way to do this while keeping the "greppability" of mutable vs immutable accesses that is there now, but it would help a lot when inlining is not enabled. 2) Removing the error check, to make the function trivially inlinable, and without branches. **runtime difference** | --------- | Debug | Release | |:----------|------:|--------:| | Slow path | 0.98 | 1.07 | | Fast path | 1.04 | 1.08 | We lost bit of performance on the assertion slow path in debug mode, but together with the previous commit, it comes out at net zero. For other combinations, we see 5-10% perf improvement across the two commits.
Diffstat (limited to 'tests/SelfTest/UsageTests/ToStringVector.tests.cpp')
0 files changed, 0 insertions, 0 deletions