]> git.ipfire.org Git - thirdparty/vectorscan.git/commitdiff
Reduce unit test runtimes dramatically for debug builds
authorKonstantinos Margaritis <markos@freevec.org>
Wed, 4 Oct 2023 16:20:45 +0000 (19:20 +0300)
committerKonstantinos Margaritis <markos@freevec.org>
Wed, 4 Oct 2023 16:21:30 +0000 (19:21 +0300)
CMakeLists.txt
unit/hyperscan/behaviour.cpp
unit/hyperscan/literals.cpp
unit/internal/multi_bit.cpp
unit/internal/multi_bit_compress.cpp

index b821472a60f0075b801521bea1b7968d970c0926..4e0c10ba030259354d898aad57b3a61e643939a2 100644 (file)
@@ -120,6 +120,7 @@ endif ()
 #for config
 if (RELEASE_BUILD)
     set(HS_OPTIMIZE ON)
+    add_definitions(-DNDEBUG)
 endif()
 
 include (${CMAKE_MODULE_PATH}/sanitize.cmake)
index f15e71716c7a18edbe1ba25388670446782f5fb1..e8a3078f38ea0885da9e6238c253bffa07e55707 100644 (file)
@@ -157,7 +157,11 @@ TEST_P(HyperscanScanGigabytesMatch, StreamingMatch) {
 
     // gb is the number of gigabytes to scan between pre-block and post-block
     // run over 1,2,4,8 gb
+#ifdef NDEBUG
     for (unsigned long long gb = 1; gb <= 8; gb *= 2) {
+#else
+    for (unsigned long long gb = 1; gb <= 2; gb *= 2) {
+#endif
         SCOPED_TRACE(gb);
 
         hs_stream_t *stream = nullptr;
@@ -261,12 +265,12 @@ TEST_P(HyperscanScanGigabytesMatch, BlockMatch) {
         1*1024,
 #ifdef BIG_BLOCKS
         4*1024, 32*1024, 128*1024, 512*1024,
+#ifdef NDEBUG
         // gigabytes
         1024*1024,
-#ifdef ARCH_X86_64
         // big cases for big beefy machines
         2048*1024, 3072*1024
-#endif // ARCH_X86_64
+#endif // NDEBUG
 #endif // BIG_BLOCKS
     };
 
index 86bd317cdadce8aefc45dba640fcbd3ba8379d63..6ff3aa434f27e8101a4131a6228b105e26941946 100644 (file)
@@ -235,7 +235,11 @@ static const unsigned test_modes[] = {HS_MODE_BLOCK, HS_MODE_STREAM,
 static const unsigned test_flags[] = {0, HS_FLAG_SINGLEMATCH,
                                       HS_FLAG_SOM_LEFTMOST};
 
+#ifdef NDEBUG
 static const unsigned test_sizes[] = {1, 10, 100, 500, 10000};
+#else
+static const unsigned test_sizes[] = {1, 10, 100, 500};
+#endif
 
 static const pair<unsigned, unsigned> test_bounds[] = {{3u, 10u}, {10u, 100u}};
 
index c7632d3a0e02964c8af56216d6434820f911faaa..7bb4a1a8a29a2e7b18c235289c0789c91b006af7 100644 (file)
@@ -1327,16 +1327,19 @@ static const MultiBitTestParam multibitTests[] = {
     { 1024, 1 },
     { 1025, 1 },
     { 2099, 1 },
+#ifdef NDEBUG
     { 10000, 1 },
     { 32768, 1 },
     { 32769, 1 },
     { 200000, 1 },
+#endif
 
     // Larger cases, bigger strides.
     { 1U << 18, 3701 },
     { 1U << 19, 3701 },
     { 1U << 20, 3701 },
     { 1U << 21, 3701 },
+#ifdef NDEBUG
     { 1U << 22, 3701 },
     { 1U << 23, 3701 },
     { 1U << 24, 3701 },
@@ -1347,6 +1350,7 @@ static const MultiBitTestParam multibitTests[] = {
     { 1U << 29, 24413 },
     { 1U << 30, 50377 },
     { 1U << 31, 104729 },
+#endif
 };
 
 INSTANTIATE_TEST_CASE_P(MultiBit, MultiBitTest, ValuesIn(multibitTests));
index 40078f81d05dd7d28e1f74d40ff9b120ead404ae..14c3f48049efa804e1398b1be6972503ea9611c9 100644 (file)
@@ -165,10 +165,12 @@ TEST(MultiBitComp, CompCompsizeSparse) {
         257,
         4097,
         (1U << 18) + 1,
+#ifdef NDEBUG
         (1U << 24) + 1,
         (1U << 30) + 1
+#endif
     };
-    for (u32 i = 0; i < 5; i++) {
+    for (u32 i = 0; i < sizeof(test_set)/sizeof(u32); i++) {
         u32 test_size = test_set[i];
         mmbit_holder ba(test_size);
 
@@ -225,10 +227,12 @@ TEST(MultiBitComp, CompCompsizeDense) {
         257,
         4097,
         (1U << 18) + 1,
+#ifdef NDEBUG
         (1U << 24) + 1,
         (1U << 30) + 1
+#endif
     };
-    for (u32 i = 0; i < 5; i++) {
+    for (u32 i = 0; i < sizeof(test_set)/sizeof(u32); i++) {
         u32 test_size = test_set[i];
         mmbit_holder ba(test_size);
 
@@ -760,16 +764,19 @@ static const MultiBitCompTestParam multibitCompTests[] = {
     { 1025, 1 },
     { 2099, 1 },    // 4097 = 64 ^ 2 + 1
     { 4097, 1 },
+#ifdef NDEBUG
     { 10000, 1 },
     { 32768, 1 },
     { 32769, 1 },
     { 200000, 1 },
     { 262145, 1 },  // 262145 = 64 * 3 + 1
+#endif
 
     // Larger cases, bigger strides.
     { 1U << 19, 3701 },
     { 1U << 20, 3701 },
     { 1U << 21, 3701 },
+#ifdef NDEBUG
     { 1U << 22, 3701 },
     { 1U << 23, 3701 },
     { 1U << 24, 3701 },
@@ -780,6 +787,7 @@ static const MultiBitCompTestParam multibitCompTests[] = {
     { 1U << 29, 24413 },
     { 1U << 30, 50377 },
     { 1U << 31, 104729 },
+#endif
 };
 
 INSTANTIATE_TEST_CASE_P(MultiBitComp, MultiBitCompTest,