Fields

hardware None
os None

Parameters

Fields

NameValue

Parameters

NameValue
git_commit commit 478e45fb94e541dfd3a53a23bbc8ed98337b8a77
Author: Roger Sanders <sanders_roger@hotmail.com>
Date: Thu Nov 13 19:13:41 2025 +1100

[libc++] Improve performance of std::atomic_flag on Windows (#163524)

On Windows 8 and above, the WaitOnAddress, WakeByAddressSingle and
WakeByAddressAll functions allow efficient implementation of the C++20
wait and notify features of std::atomic_flag. These Windows functions
have never been made use of in libc++, leading to very poor performance
of these features on Windows platforms, as they are implemented using a
spin loop with backoff, rather than using any OS thread signalling
whatsoever. This change implements the use of these OS functions where
available, falling back to the original implementation on Windows
versions prior to 8.

Relevant API docs from Microsoft:

https://learn.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-waitonaddress

https://learn.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-wakebyaddresssingle

https://learn.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-wakebyaddressall

Fixes #127221
Filter

ldionne-old-macbook-results test results

Run Order Start Time Duration
Current 559266 2025-12-16T16:40:01 0:00:00
Previous 559265 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 2 0
Performance Improvements 3 0
Added Tests 0 16
Unchanged Tests 75 64
Total Tests 80

Performance Regressions - execution_time Δ Previous Current σ Δ (B) σ (B)
748_flightdm_r 1.37% 8.808 8.929 - 0.00% -
753_ns3_r 1.10% 10.094 10.206 - 0.00% -

Performance Improvements - execution_time Δ Previous Current σ Δ (B) σ (B)
735_gem5_r -2.45% 13.528 13.197 - 0.00% -
727_cppcheck_r -1.36% 25.091 24.749 - 0.00% -
729_abc_r -1.03% 18.918 18.723 - 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
735_gem5_r
736_ocio_r
737_gmsh_r
748_flightdm_r
750_sealcrypto_r
753_ns3_r
766_femflow_r


Report Time: 0.14s
Name Current %
706_stockfish_r 21.620 -
707_ntest_r 16.615 -
709_cactus_r 19.724 -
710_omnetpp_r 8.512 -
721_gcc_r 12.962 -
723_llvm_r 11.503 -
727_cppcheck_r 24.749 -1.36%
729_abc_r 18.723 -1.03%
731_astcenc_r 10.128 -
735_gem5_r 13.197 -2.45%
736_ocio_r 16.269 -
737_gmsh_r 12.988 -
748_flightdm_r 8.929 1.37%
750_sealcrypto_r 18.370 -
753_ns3_r 10.206 1.10%
766_femflow_r 12.798 -
Geometric Mean 14.129 -