Fields

hardware None
os None

Parameters

Fields

NameValue

Parameters

NameValue
git_commit commit 38595fb257fee32aaa3b45ff73c3ceaac86e9143
Author: Nikolas Klauser <nikolasklauser@berlin.de>
Date: Wed May 7 16:54:34 2025 +0200

[libc++] Remove a few unnecessary branches from basic_string::find (#137266)

I've recently looked at the assembly for `basic_string::find()` and
realized that there were a few branches I didn't expect. It turns out
that we check for null before calling `__constexpr_memchr` in some
cases, which the compiler doesn't optimize away. This is a really
uncommon case though, so I'm not convinced it makes a ton of sense to
optimize for that.

The second case is where `__pos >= __sz`. There, we can instead check
`__pos > __sz`, which the optimizer is able to remove if `__pos == 0`,
which is also a quite common case (basic_string::find(CharT), without an
explicit size parameter).
Filter

ldionne-old-macbook-results test results

Run Order Start Time Duration
Current 536584 2025-12-16T16:40:01 0:00:00
Previous 536573 2025-12-16T16:40:01 0:00:00
Baseline 485288 2025-12-16T16:40:01 0:00:00


Tests Summary

Status Group # # (B)
Performance Regressions 3 0
Performance Improvements 4 0
Added Tests 0 18
Unchanged Tests 83 72
Total Tests 90

Performance Regressions - execution_time Δ Previous Current σ Δ (B) σ (B)
735_gem5_r 4.68% 13.807 14.453 - 0.00% -
748_flightdm_r 1.81% 8.862 9.022 - 0.00% -
710_omnetpp_r 1.78% 8.457 8.608 - 0.00% -

Performance Improvements - execution_time Δ Previous Current σ Δ (B) σ (B)
734_vpr_r -4.34% 15.799 15.114 - 0.00% -
723_llvm_r -1.46% 11.615 11.445 - 0.00% -
753_ns3_r -1.36% 10.817 10.670 - 0.00% -
731_astcenc_r -1.33% 10.130 9.995 - 0.00% -

Added Tests - execution_time
706_stockfish_r
707_ntest_r
709_cactus_r
710_omnetpp_r
721_gcc_r
723_llvm_r
727_cppcheck_r
729_abc_r
731_astcenc_r
734_vpr_r
735_gem5_r
736_ocio_r
737_gmsh_r
748_flightdm_r
750_sealcrypto_r
753_ns3_r
766_femflow_r
767_nest_r


Report Time: 0.71s
Name Current %
706_stockfish_r 22.134 -
707_ntest_r 18.305 -
709_cactus_r 19.502 -
710_omnetpp_r 8.608 1.78%
721_gcc_r 12.890 -
723_llvm_r 11.445 -1.46%
727_cppcheck_r 24.712 -
729_abc_r 18.576 -
731_astcenc_r 9.995 -1.33%
734_vpr_r 15.114 -4.34%
735_gem5_r 14.453 4.68%
736_ocio_r 16.198 -
737_gmsh_r 12.945 -
748_flightdm_r 9.022 1.81%
750_sealcrypto_r 18.435 -
753_ns3_r 10.670 -1.36%
766_femflow_r 12.802 -
767_nest_r 14.164 -
Geometric Mean 14.365 -