[libcxx-commits] [libcxx] [libc++] Reduce the number of runs on the std::min{, max} benchmarks (PR #179912)

Nikolas Klauser via libcxx-commits libcxx-commits at lists.llvm.org
Thu Feb 5 03:22:11 PST 2026


https://github.com/philnik777 created https://github.com/llvm/llvm-project/pull/179912

Testing a bunch of range sizes has relatively little value. This reduces the number of benchmarks so we can run them on a regular basis.

Fixes #179698



>From a850de666974d122245bb673b62feaff33b36135 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser <nikolasklauser at berlin.de>
Date: Thu, 5 Feb 2026 12:20:38 +0100
Subject: [PATCH] [libc++] Reduce the number of runs on the std::min{,max}
 benchmarks

---
 .../test/benchmarks/algorithms/min.bench.cpp  | 44 +------------------
 .../benchmarks/algorithms/minmax.bench.cpp    | 44 +------------------
 2 files changed, 2 insertions(+), 86 deletions(-)

diff --git a/libcxx/test/benchmarks/algorithms/min.bench.cpp b/libcxx/test/benchmarks/algorithms/min.bench.cpp
index 9928afd567737..f0036fc1da183 100644
--- a/libcxx/test/benchmarks/algorithms/min.bench.cpp
+++ b/libcxx/test/benchmarks/algorithms/min.bench.cpp
@@ -14,49 +14,7 @@
 #include <benchmark/benchmark.h>
 #include "test_macros.h"
 
-void run_sizes(auto benchmark) {
-  benchmark->Arg(1)
-      ->Arg(2)
-      ->Arg(3)
-      ->Arg(4)
-      ->Arg(5)
-      ->Arg(6)
-      ->Arg(7)
-      ->Arg(8)
-      ->Arg(9)
-      ->Arg(10)
-      ->Arg(11)
-      ->Arg(12)
-      ->Arg(13)
-      ->Arg(14)
-      ->Arg(15)
-      ->Arg(16)
-      ->Arg(17)
-      ->Arg(18)
-      ->Arg(19)
-      ->Arg(20)
-      ->Arg(21)
-      ->Arg(22)
-      ->Arg(23)
-      ->Arg(24)
-      ->Arg(25)
-      ->Arg(26)
-      ->Arg(27)
-      ->Arg(28)
-      ->Arg(29)
-      ->Arg(30)
-      ->Arg(31)
-      ->Arg(32)
-      ->Arg(64)
-      ->Arg(512)
-      ->Arg(1024)
-      ->Arg(4000)
-      ->Arg(4096)
-      ->Arg(5500)
-      ->Arg(64000)
-      ->Arg(65536)
-      ->Arg(70000);
-}
+void run_sizes(auto benchmark) { benchmark->Arg(1)->Arg(8)->Arg(64)->Arg(70000); }
 
 template <class T>
 static void BM_std_min(benchmark::State& state) {
diff --git a/libcxx/test/benchmarks/algorithms/minmax.bench.cpp b/libcxx/test/benchmarks/algorithms/minmax.bench.cpp
index 7d7c74c9c96aa..1dfa9dcdf523d 100644
--- a/libcxx/test/benchmarks/algorithms/minmax.bench.cpp
+++ b/libcxx/test/benchmarks/algorithms/minmax.bench.cpp
@@ -13,49 +13,7 @@
 
 #include <benchmark/benchmark.h>
 
-void run_sizes(auto benchmark) {
-  benchmark->Arg(1)
-      ->Arg(2)
-      ->Arg(3)
-      ->Arg(4)
-      ->Arg(5)
-      ->Arg(6)
-      ->Arg(7)
-      ->Arg(8)
-      ->Arg(9)
-      ->Arg(10)
-      ->Arg(11)
-      ->Arg(12)
-      ->Arg(13)
-      ->Arg(14)
-      ->Arg(15)
-      ->Arg(16)
-      ->Arg(17)
-      ->Arg(18)
-      ->Arg(19)
-      ->Arg(20)
-      ->Arg(21)
-      ->Arg(22)
-      ->Arg(23)
-      ->Arg(24)
-      ->Arg(25)
-      ->Arg(26)
-      ->Arg(27)
-      ->Arg(28)
-      ->Arg(29)
-      ->Arg(30)
-      ->Arg(31)
-      ->Arg(32)
-      ->Arg(64)
-      ->Arg(512)
-      ->Arg(1024)
-      ->Arg(4000)
-      ->Arg(4096)
-      ->Arg(5500)
-      ->Arg(64000)
-      ->Arg(65536)
-      ->Arg(70000);
-}
+void run_sizes(auto benchmark) { benchmark->Arg(1)->Arg(8)->Arg(64)->Arg(70000); }
 
 template <class T>
 static void BM_std_minmax(benchmark::State& state) {



More information about the libcxx-commits mailing list