[libcxx-commits] [libcxx] 815b164 - [libc++] Disable atomic_wait benchmarks outside of dry-run mode (#158631)

via libcxx-commits libcxx-commits at lists.llvm.org
Fri Sep 19 07:54:22 PDT 2025


Author: Louis Dionne
Date: 2025-09-19T10:54:18-04:00
New Revision: 815b1641a65c33dd331efb816fdafeafd0a7e794

URL: https://github.com/llvm/llvm-project/commit/815b1641a65c33dd331efb816fdafeafd0a7e794
DIFF: https://github.com/llvm/llvm-project/commit/815b1641a65c33dd331efb816fdafeafd0a7e794.diff

LOG: [libc++] Disable atomic_wait benchmarks outside of dry-run mode (#158631)

The atomic_wait benchmarks are great, but they tend to overload the
system they're running on. For that reason, we can't run them on our CI
infrastructure on a regular basis.

Instead of removing them, make them unsupported outside of dry-running,
which allows keeping the benchmarks around and ensuring they don't rot,
but doesn't run them along with the other benchmarks. If we need to
investigate atomic_wait performance, it's trivial to mark the benchmark
as supported and run it for local investigations.

This is an alternative to https://github.com/llvm/llvm-project/pull/158289.

Added: 
    

Modified: 
    libcxx/test/benchmarks/atomic_wait_1_waiter_1_notifier.bench.cpp
    libcxx/test/benchmarks/atomic_wait_N_waiter_N_notifier.bench.cpp
    libcxx/test/benchmarks/atomic_wait_multi_waiter_1_notifier.bench.cpp
    libcxx/test/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp

Removed: 
    


################################################################################
diff  --git a/libcxx/test/benchmarks/atomic_wait_1_waiter_1_notifier.bench.cpp b/libcxx/test/benchmarks/atomic_wait_1_waiter_1_notifier.bench.cpp
index c3d7e6511925d..5c82b8e8e9af6 100644
--- a/libcxx/test/benchmarks/atomic_wait_1_waiter_1_notifier.bench.cpp
+++ b/libcxx/test/benchmarks/atomic_wait_1_waiter_1_notifier.bench.cpp
@@ -8,6 +8,10 @@
 
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
+// This benchmark is very expensive and we don't want to run it on a regular basis,
+// only to ensure the code doesn't rot.
+// REQUIRES: enable-benchmarks=dry-run
+
 #include "atomic_wait_helper.h"
 
 #include <atomic>

diff  --git a/libcxx/test/benchmarks/atomic_wait_N_waiter_N_notifier.bench.cpp b/libcxx/test/benchmarks/atomic_wait_N_waiter_N_notifier.bench.cpp
index d9b9aa212f602..4d6547418e767 100644
--- a/libcxx/test/benchmarks/atomic_wait_N_waiter_N_notifier.bench.cpp
+++ b/libcxx/test/benchmarks/atomic_wait_N_waiter_N_notifier.bench.cpp
@@ -8,6 +8,10 @@
 
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
+// This benchmark is very expensive and we don't want to run it on a regular basis,
+// only to ensure the code doesn't rot.
+// REQUIRES: enable-benchmarks=dry-run
+
 #include "atomic_wait_helper.h"
 
 #include <atomic>

diff  --git a/libcxx/test/benchmarks/atomic_wait_multi_waiter_1_notifier.bench.cpp b/libcxx/test/benchmarks/atomic_wait_multi_waiter_1_notifier.bench.cpp
index a14a6a2ad9c98..f8288cb4c8020 100644
--- a/libcxx/test/benchmarks/atomic_wait_multi_waiter_1_notifier.bench.cpp
+++ b/libcxx/test/benchmarks/atomic_wait_multi_waiter_1_notifier.bench.cpp
@@ -8,6 +8,10 @@
 
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
+// This benchmark is very expensive and we don't want to run it on a regular basis,
+// only to ensure the code doesn't rot.
+// REQUIRES: enable-benchmarks=dry-run
+
 #include "atomic_wait_helper.h"
 
 #include <atomic>

diff  --git a/libcxx/test/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp b/libcxx/test/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp
index a554c721df017..9849ffa7e038d 100644
--- a/libcxx/test/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp
+++ b/libcxx/test/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp
@@ -8,6 +8,10 @@
 
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
+// This benchmark is very expensive and we don't want to run it on a regular basis,
+// only to ensure the code doesn't rot.
+// REQUIRES: enable-benchmarks=dry-run
+
 #include <atomic>
 #include <cstdint>
 #include <mutex>


        


More information about the libcxx-commits mailing list