diff mbox series

: Reduce iteration count for 23_containers/unordered_set/hash_policy/load_factor.cc for !run_expensive_tests

Message ID fb6164ed-e59c-4758-bf18-a23eaacb8fcb@riscy-ip.com
State New
Headers show
Series : Reduce iteration count for 23_containers/unordered_set/hash_policy/load_factor.cc for !run_expensive_tests | expand

Commit Message

Joern Wolfgang Rennecke Aug. 9, 2024, 1:02 a.m. UTC
I also noticed this test always timing out on a simulator.
Reduce iteration count for 23_containers/unordered_set/hash_policy/load_factor.cc for !run_expensive_tests

2024-07-19  Joern Rennecke  <joern.rennecke@riscy-ip.com>

libstdc++-v3/
	* testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
	[!run_expensive_tests]: Reduce iteration count.
diff mbox series

Patch

Index: 23_containers/unordered_set/hash_policy/load_factor.cc
===================================================================
--- 23_containers/unordered_set/hash_policy/load_factor.cc	(revision 6631)
+++ 23_containers/unordered_set/hash_policy/load_factor.cc	(revision 6632)
@@ -20,13 +20,21 @@ 
 #include <unordered_set>
 
 #include <testsuite_hooks.h>
+// memory requirements are about 32 bytes per iteration for ilp32.
+// CPU requirements are about a minute for 20000 iterations on a simulator,
+// but 20 minutes for 100000 iterations.
+// { dg-additional-options "-Diterations=20000" { target { ! run_expensive_tests } } }
 
+#ifndef iterations
+#define iterations 100000
+#endif
+
 template<typename _USet>
   void test()
   {
     {
       _USet us;
-      for (int i = 0; i != 100000; ++i)
+      for (int i = 0; i != iterations; ++i)
 	{
 	  us.insert(i);
 	  VERIFY( us.load_factor() <= us.max_load_factor() );
@@ -35,7 +43,7 @@ 
     {
       _USet us;
       us.max_load_factor(3.f);
-      for (int i = 0; i != 100000; ++i)
+      for (int i = 0; i != iterations; ++i)
 	{
 	  us.insert(i);
 	  VERIFY( us.load_factor() <= us.max_load_factor() );
@@ -44,7 +52,7 @@ 
     {
       _USet us;
       us.max_load_factor(.3f);
-      for (int i = 0; i != 100000; ++i)
+      for (int i = 0; i != iterations; ++i)
 	{
 	  us.insert(i);
 	  VERIFY( us.load_factor() <= us.max_load_factor() );