diff --git a/contrib/pzstd/test/PzstdTest.cpp b/contrib/pzstd/test/PzstdTest.cpp index c53c4d182..64bcf9cab 100644 --- a/contrib/pzstd/test/PzstdTest.cpp +++ b/contrib/pzstd/test/PzstdTest.cpp @@ -89,7 +89,7 @@ TEST(Pzstd, LargeSizes) { Options options; options.overwrite = true; options.inputFiles = {inputFile}; - options.numThreads = numThreads; + options.numThreads = std::min(numThreads, options.numThreads); options.compressionLevel = level; ASSERT_TRUE(roundTrip(options)); errorGuard.dismiss(); diff --git a/contrib/pzstd/utils/test/ThreadPoolTest.cpp b/contrib/pzstd/utils/test/ThreadPoolTest.cpp index 9b9868cb1..1d857aae8 100644 --- a/contrib/pzstd/utils/test/ThreadPoolTest.cpp +++ b/contrib/pzstd/utils/test/ThreadPoolTest.cpp @@ -20,12 +20,12 @@ TEST(ThreadPool, Ordering) { { ThreadPool executor(1); - for (int i = 0; i < 100; ++i) { + for (int i = 0; i < 10; ++i) { executor.add([ &results, i ] { results.push_back(i); }); } } - for (int i = 0; i < 100; ++i) { + for (int i = 0; i < 10; ++i) { EXPECT_EQ(i, results[i]); } } @@ -35,7 +35,7 @@ TEST(ThreadPool, AllJobsFinished) { std::atomic start{false}; { ThreadPool executor(5); - for (int i = 0; i < 1000; ++i) { + for (int i = 0; i < 10; ++i) { executor.add([ &numFinished, &start ] { while (!start.load()) { // spin @@ -45,7 +45,7 @@ TEST(ThreadPool, AllJobsFinished) { } start.store(true); } - EXPECT_EQ(1000, numFinished.load()); + EXPECT_EQ(10, numFinished.load()); } TEST(ThreadPool, AddJobWhileJoining) { diff --git a/contrib/pzstd/utils/test/WorkQueueTest.cpp b/contrib/pzstd/utils/test/WorkQueueTest.cpp index 84d8573c3..ebf375a84 100644 --- a/contrib/pzstd/utils/test/WorkQueueTest.cpp +++ b/contrib/pzstd/utils/test/WorkQueueTest.cpp @@ -89,14 +89,14 @@ TEST(WorkQueue, SPSC) { TEST(WorkQueue, SPMC) { WorkQueue queue; - std::vector results(10000, -1); + std::vector results(50, -1); std::mutex mutex; std::vector threads; - for (int i = 0; i < 100; ++i) { + for (int i = 0; i < 5; ++i) { threads.emplace_back(Popper{&queue, results.data(), &mutex}); } - for (int i = 0; i < 10000; ++i) { + for (int i = 0; i < 50; ++i) { queue.push(i); } queue.finish(); @@ -105,24 +105,24 @@ TEST(WorkQueue, SPMC) { thread.join(); } - for (int i = 0; i < 10000; ++i) { + for (int i = 0; i < 50; ++i) { EXPECT_EQ(i, results[i]); } } TEST(WorkQueue, MPMC) { WorkQueue queue; - std::vector results(10000, -1); + std::vector results(100, -1); std::mutex mutex; std::vector popperThreads; - for (int i = 0; i < 100; ++i) { + for (int i = 0; i < 4; ++i) { popperThreads.emplace_back(Popper{&queue, results.data(), &mutex}); } std::vector pusherThreads; - for (int i = 0; i < 10; ++i) { - auto min = i * 1000; - auto max = (i + 1) * 1000; + for (int i = 0; i < 2; ++i) { + auto min = i * 50; + auto max = (i + 1) * 50; pusherThreads.emplace_back( [ &queue, min, max ] { for (int i = min; i < max; ++i) { @@ -140,7 +140,7 @@ TEST(WorkQueue, MPMC) { thread.join(); } - for (int i = 0; i < 10000; ++i) { + for (int i = 0; i < 100; ++i) { EXPECT_EQ(i, results[i]); } } @@ -197,16 +197,16 @@ TEST(WorkQueue, SetMaxSize) { } TEST(WorkQueue, BoundedSizeMPMC) { - WorkQueue queue(100); - std::vector results(10000, -1); + WorkQueue queue(10); + std::vector results(200, -1); std::mutex mutex; std::vector popperThreads; - for (int i = 0; i < 10; ++i) { + for (int i = 0; i < 4; ++i) { popperThreads.emplace_back(Popper{&queue, results.data(), &mutex}); } std::vector pusherThreads; - for (int i = 0; i < 100; ++i) { + for (int i = 0; i < 2; ++i) { auto min = i * 100; auto max = (i + 1) * 100; pusherThreads.emplace_back( @@ -226,7 +226,7 @@ TEST(WorkQueue, BoundedSizeMPMC) { thread.join(); } - for (int i = 0; i < 10000; ++i) { + for (int i = 0; i < 200; ++i) { EXPECT_EQ(i, results[i]); } }