[libcxx-commits] [libcxx] [libc++] Disable atomic_wait benchmarks outside of dry-run mode (PR #158631)
via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Sep 15 05:57:39 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libcxx
Author: Louis Dionne (ldionne)
<details>
<summary>Changes</summary>
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.
---
Full diff: https://github.com/llvm/llvm-project/pull/158631.diff
4 Files Affected:
- (modified) libcxx/test/benchmarks/atomic_wait_1_waiter_1_notifier.bench.cpp (+4)
- (modified) libcxx/test/benchmarks/atomic_wait_N_waiter_N_notifier.bench.cpp (+4)
- (modified) libcxx/test/benchmarks/atomic_wait_multi_waiter_1_notifier.bench.cpp (+4)
- (modified) libcxx/test/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp (+4)
``````````diff
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>
``````````
</details>
https://github.com/llvm/llvm-project/pull/158631
More information about the libcxx-commits
mailing list