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.renne...@riscy-ip.com>

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

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() );

Reply via email to