From bf562cb028f023b2d49dd7dd45fcaa3f5ddb91f3 Mon Sep 17 00:00:00 2001 From: Peizhao Ou Date: Thu, 8 Feb 2018 14:25:33 -0800 Subject: [PATCH] Refactors some of existing cds multi-threaded stress test cases --- test/stress/CMakeLists.txt | 26 +++--- test/stress/map/CMakeLists.txt | 32 +++---- test/stress/map/insdelfind/CMakeLists.txt | 8 +- test/stress/map/insdelfind/map_insdelfind.cpp | 5 ++ test/stress/map/insdelfind/map_insdelfind.h | 5 +- test/stress/misc/barrier_driver.cpp | 2 +- test/stress/misc/deque_driver.cpp | 14 +-- test/stress/misc/mcslock_driver.cpp | 2 +- test/stress/misc/rwlock_driver.cpp | 2 +- test/stress/misc/rwqueue_driver.cpp | 83 ------------------ test/stress/misc/seqlock_driver.cpp | 2 +- test/stress/misc/spinlock_driver.cpp | 2 +- .../parallel/parallel_freelist_put_get.cpp | 41 +++++---- .../parallel_freelist_put_get_single.cpp | 39 +++++--- test/stress/queue/CMakeLists.txt | 24 ++--- .../insdelfind/.CMakeLists.txt.swp | Bin 0 -> 12288 bytes test/stress/stack/CMakeLists.txt | 2 +- 17 files changed, 119 insertions(+), 170 deletions(-) delete mode 100644 test/stress/misc/rwqueue_driver.cpp create mode 100644 test/stress/sequential/sequential-map/insdelfind/.CMakeLists.txt.swp diff --git a/test/stress/CMakeLists.txt b/test/stress/CMakeLists.txt index a11751da..18398ddf 100644 --- a/test/stress/CMakeLists.txt +++ b/test/stress/CMakeLists.txt @@ -22,25 +22,25 @@ include_directories( ) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/sequential) -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/parallel) -#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/misc) -#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/freelist) -#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/map) -#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/pqueue) -#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/queue) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/freelist) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/queue) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/stack) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/map) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/misc) +#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/parallel) #add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/set) -#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/stack) +#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/pqueue) add_custom_target( stress-all DEPENDS stress-sequential-all - stress-parallel-all - #stress-misc - #stress-freelist - #stress-map + stress-freelist + stress-queue + stress-stack + stress-map + stress-misc + #stress-parallel-all #stress-pqueue - #stress-queue - #stress-stack #stress-set ) diff --git a/test/stress/map/CMakeLists.txt b/test/stress/map/CMakeLists.txt index 90f80111..6c0c5ee2 100644 --- a/test/stress/map/CMakeLists.txt +++ b/test/stress/map/CMakeLists.txt @@ -1,25 +1,25 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DCDSUNIT_USE_URCU") -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/delodd) -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/del3) -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/find_string) -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/insdel_func) -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/insdel_string) -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/insdel_item_int) +#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/delodd) +#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/del3) +#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/find_string) +#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/insdel_func) +#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/insdel_string) +#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/insdel_item_int) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/insdelfind) -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/minmax) -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/iter_erase) +#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/minmax) +#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/iter_erase) add_custom_target( stress-map DEPENDS - stress-map-delodd - stress-map-del3 - stress-map-find-string - stress-map-insdel-func - stress-map-insdel-string - stress-map-insdel-item-int + #stress-map-delodd + #stress-map-del3 + #stress-map-find-string + #stress-map-insdel-func + #stress-map-insdel-string + #stress-map-insdel-item-int stress-map-insdelfind - stress-map-minmax - stress-map-iter-erase + #stress-map-minmax + #stress-map-iter-erase ) diff --git a/test/stress/map/insdelfind/CMakeLists.txt b/test/stress/map/insdelfind/CMakeLists.txt index 31683852..cb81f958 100644 --- a/test/stress/map/insdelfind/CMakeLists.txt +++ b/test/stress/map/insdelfind/CMakeLists.txt @@ -4,20 +4,20 @@ set(MAP_INSDELFIND_RCU stress-map-insdelfind-rcu) set(CDSSTRESS_MAP_INSDELFIND_HP_SOURCES ../../main.cpp map_insdelfind.cpp - map_insdelfind_cuckoo.cpp + #map_insdelfind_cuckoo.cpp map_insdelfind_ellentree_hp.cpp map_insdelfind_feldman_hashset_hp.cpp map_insdelfind_michael_hp.cpp map_insdelfind_skip_hp.cpp map_insdelfind_split_hp.cpp - map_insdelfind_std.cpp - map_insdelfind_striped.cpp + #map_insdelfind_std.cpp + #map_insdelfind_striped.cpp ) set(CDSSTRESS_MAP_INSDELFIND_RCU_SOURCES ../../main.cpp map_insdelfind.cpp - map_insdelfind_bronsonavltree.cpp + #map_insdelfind_bronsonavltree.cpp map_insdelfind_ellentree_rcu.cpp map_insdelfind_feldman_hashset_rcu.cpp map_insdelfind_michael_rcu.cpp diff --git a/test/stress/map/insdelfind/map_insdelfind.cpp b/test/stress/map/insdelfind/map_insdelfind.cpp index ea0c9704..830356e8 100644 --- a/test/stress/map/insdelfind/map_insdelfind.cpp +++ b/test/stress/map/insdelfind/map_insdelfind.cpp @@ -34,6 +34,7 @@ namespace map { size_t Map_InsDelFind::s_nMapSize = 500000; size_t Map_InsDelFind::s_nThreadCount = 8; + size_t Map_InsDelFind::s_nPassCount = 100000; size_t Map_InsDelFind::s_nMaxLoadFactor = 8; unsigned int Map_InsDelFind::s_nInsertPercentage = 5; unsigned int Map_InsDelFind::s_nDeletePercentage = 5; @@ -62,6 +63,10 @@ namespace map { if ( s_nThreadCount == 0 ) s_nThreadCount = std::min( 16u, std::thread::hardware_concurrency() * 2 ); + s_nPassCount = cfg.get_size_t( "PassCount", s_nPassCount ); + if ( s_nPassCount == 0 ) + s_nThreadCount = 1000; + s_nMaxLoadFactor = cfg.get_size_t( "MaxLoadFactor", s_nMaxLoadFactor ); if ( s_nMaxLoadFactor == 0 ) s_nMaxLoadFactor = 1; diff --git a/test/stress/map/insdelfind/map_insdelfind.h b/test/stress/map/insdelfind/map_insdelfind.h index dd909dc9..d11b8357 100644 --- a/test/stress/map/insdelfind/map_insdelfind.h +++ b/test/stress/map/insdelfind/map_insdelfind.h @@ -38,6 +38,7 @@ namespace map { public: static size_t s_nMapSize; // initial map size static size_t s_nThreadCount; // thread count + static size_t s_nPassCount; // pass count static size_t s_nMaxLoadFactor; // maximum load factor static unsigned int s_nInsertPercentage; static unsigned int s_nDeletePercentage; @@ -127,7 +128,7 @@ namespace map { size_t const nNormalize = size_t(-1) / ( s_nMapSize * 2 ); size_t nRand = 0; - while ( !time_elapsed()) { + for (size_t pCount; pCount < s_nPassCount; pCount++) { nRand = cds::bitop::RandXorShift( nRand ); size_t n = nRand / nNormalize; switch ( s_arrShuffle[i] ) { @@ -190,7 +191,7 @@ namespace map { << std::make_pair( "delete_percentage", s_nDeletePercentage ) << std::make_pair( "map_size", s_nMapSize ); - std::chrono::milliseconds duration = pool.run( std::chrono::seconds( s_nDuration )); + std::chrono::milliseconds duration = pool.run(); propout() << std::make_pair( "duration", duration ); diff --git a/test/stress/misc/barrier_driver.cpp b/test/stress/misc/barrier_driver.cpp index 90ca2399..e7878fdc 100644 --- a/test/stress/misc/barrier_driver.cpp +++ b/test/stress/misc/barrier_driver.cpp @@ -14,7 +14,7 @@ namespace { typedef cds_others::SpinBarrier Barrier; -static size_t s_nBarrierThreadCount = 6; +static size_t s_nBarrierThreadCount = 4; static size_t s_nBarrierPassCount = 100000000; class BarrierTest : public cds_test::stress_fixture { diff --git a/test/stress/misc/deque_driver.cpp b/test/stress/misc/deque_driver.cpp index 8976c3cd..7d933ad3 100644 --- a/test/stress/misc/deque_driver.cpp +++ b/test/stress/misc/deque_driver.cpp @@ -12,7 +12,7 @@ using namespace std; namespace { typedef cds_others::ChaseLevDeque Deque; -static size_t s_nDequeStealerThreadCount = 5; +static size_t s_nDequeStealerThreadCount = 3; static size_t s_nDequeMainPassCount = 100000000; class ChaseLevDequeTest : public cds_test::stress_fixture { @@ -32,10 +32,14 @@ protected: static void StealerThread(int index) { while (!terminate_stealer.load(memory_order_relaxed)) { - int res = deque->steal(); - if (res != EMPTY && res != ABORT) { - sums[index] += res; - succ_counts[index]++; + while (true) { + int res = deque->steal(); + if (res != EMPTY && res != ABORT) { + sums[index] += res; + succ_counts[index]++; + } else { + break; + } } } } diff --git a/test/stress/misc/mcslock_driver.cpp b/test/stress/misc/mcslock_driver.cpp index ea3370ae..9a51077a 100644 --- a/test/stress/misc/mcslock_driver.cpp +++ b/test/stress/misc/mcslock_driver.cpp @@ -12,7 +12,7 @@ using namespace std; namespace { -static size_t s_nMCSLockThreadCount = 6; +static size_t s_nMCSLockThreadCount = 4; static size_t s_nMCSLockPassCount = 3000000; class MCSLockTest : public cds_test::stress_fixture { diff --git a/test/stress/misc/rwlock_driver.cpp b/test/stress/misc/rwlock_driver.cpp index fa425c9e..71581e43 100644 --- a/test/stress/misc/rwlock_driver.cpp +++ b/test/stress/misc/rwlock_driver.cpp @@ -12,7 +12,7 @@ using namespace std; namespace { -static size_t s_nRWLockThreadCount = 6; +static size_t s_nRWLockThreadCount = 4; static size_t s_nRWLockPassCount = 200000; typedef cds_others::RWLock RWLock; diff --git a/test/stress/misc/rwqueue_driver.cpp b/test/stress/misc/rwqueue_driver.cpp deleted file mode 100644 index 4acb50e3..00000000 --- a/test/stress/misc/rwqueue_driver.cpp +++ /dev/null @@ -1,83 +0,0 @@ -#include -#include -#include -#include -#include - -using namespace std; - -cds::container::RWQueue queue; - -void InitQueue() { - for (int i = 0; i < 2000000; i++) { - queue.enqueue(rand() % 100); - } -} - -void ProducerThread() { - for (int i = 0; i < 1000000; i++) { - for (int j = 0; j < 50; j++) { - queue.enqueue(rand() % 100); - } - } -} - -void ProducerConsumerThread() { - unsigned long long sum = 0; - int element; - for (int i = 0; i < 1000000; i++) { - for (int j = 0; j < 50; j++) { - if (!queue.empty() && queue.dequeue(element)) { - sum += element; - } - if (j % 2 == 0) { - queue.enqueue(rand() % 100); - } - } - } -} - -void ConsumerThread() { - int element; - unsigned long long sum = 0; - int yield_times = 3; - while (yield_times > 0) { - while (queue.dequeue(element)) { - sum += element; - yield_times = 3; - } - std::this_thread::yield(); - yield_times--; - } -} - -int main() { - srand(time(NULL)); - const int kThreads = 6; - // Initialize the queue with some elements. - InitQueue(); - cout << "Starting " << kThreads << " threads for RWQueue...\n"; - - struct timespec start, finish; - double elapsed = 0.0; - clock_gettime(CLOCK_MONOTONIC, &start); - - std::thread threads[kThreads]; - // Producer thread - threads[0] = std::thread(ProducerThread); - // ProducerConsumer threads - for (int i = 1; i < kThreads; i++) { - threads[i] = std::thread(ProducerConsumerThread); - } - - for (int i = 0; i < kThreads; i++) { - threads[i].join(); - } - - clock_gettime(CLOCK_MONOTONIC, &finish); - elapsed = (finish.tv_sec - start.tv_sec); - elapsed += (finish.tv_nsec - start.tv_nsec) / 1000000000.0; - cout << "All threads finished.\n"; - cout << "Time: " << elapsed << " seconds\n"; - return 0; -} diff --git a/test/stress/misc/seqlock_driver.cpp b/test/stress/misc/seqlock_driver.cpp index c3ee487a..cbe54e1f 100644 --- a/test/stress/misc/seqlock_driver.cpp +++ b/test/stress/misc/seqlock_driver.cpp @@ -14,7 +14,7 @@ namespace { typedef cds_others::SeqLock SeqLock; -static size_t s_nSeqLockReaderWriterThreadCount = 6; +static size_t s_nSeqLockReaderWriterThreadCount = 4; static size_t s_nSeqLockPassCount = 2000000; class SeqLockTest : public cds_test::stress_fixture { diff --git a/test/stress/misc/spinlock_driver.cpp b/test/stress/misc/spinlock_driver.cpp index 94c6c7ce..4a8eb35b 100644 --- a/test/stress/misc/spinlock_driver.cpp +++ b/test/stress/misc/spinlock_driver.cpp @@ -18,7 +18,7 @@ typedef cds_others::TicketLock TicketLock; typedef cds::sync::spin SpinLock; typedef cds::sync::reentrant_spin32 Reentrant32; typedef cds::sync::reentrant_spin64 Reentrant64; -static size_t s_nSpinLockThreadCount = 6; +static size_t s_nSpinLockThreadCount = 4; static size_t s_nSpinLockPassCount = 2500000000; static size_t s_nTicketLockPassCount = 4000000; diff --git a/test/stress/parallel/parallel_freelist_put_get.cpp b/test/stress/parallel/parallel_freelist_put_get.cpp index 04308c99..8e7a5461 100644 --- a/test/stress/parallel/parallel_freelist_put_get.cpp +++ b/test/stress/parallel/parallel_freelist_put_get.cpp @@ -105,11 +105,13 @@ namespace { public: static void SetUpTestCase() { - cds_test::config const& cfg = get_config( "SequentialFreeList" ); + cds_test::config const& cfg = get_config( "ParallelFreeList" ); + s_nThreadCount = cfg.get_size_t( "ThreadCount", s_nThreadCount ); s_nPassCount = cfg.get_size_t( "PassCount", s_nPassCount ); - s_nThreadCount = 1; + if ( s_nThreadCount == 0 ) + s_nThreadCount = 1; if ( s_nPassCount == 0 ) s_nPassCount = 1000; } @@ -127,29 +129,39 @@ namespace { for ( auto& i : arr ) list.put( &i ); - std::unique_ptr> worker( - new Worker(pool, list)); - worker->test(); + pool.add( new Worker( pool, list ), s_nThreadCount ); + + propout() << std::make_pair( "work_thread", s_nThreadCount ) + << std::make_pair( "pass_count", s_nPassCount ); + + std::chrono::milliseconds duration = pool.run(); + + propout() << std::make_pair( "duration", duration ); // analyze result size_t nTotal = 0; for ( auto const& i : arr ) nTotal += i.counter; - EXPECT_EQ( worker->m_nSuccess, nTotal ); + size_t nSuccess = 0; + for ( size_t threadNo = 0; threadNo < pool.size(); ++threadNo ) + nSuccess += static_cast&>( pool.get( threadNo )).m_nSuccess; + + EXPECT_EQ( nSuccess, nTotal ); list.clear( []( typename FreeList::node* ) {} ); } }; - size_t put_get::s_nThreadCount = 1; + size_t put_get::s_nThreadCount = 4; size_t put_get::s_nPassCount = 100000; -#define CDSSTRESS_FREELIST_F(name, freelist_type) \ - TEST_F(put_get, name) { \ - std::unique_ptr fl(new freelist_type()); \ - test(*fl); \ - } +#define CDSSTRESS_FREELIST_F( name, freelist_type ) \ + TEST_F( put_get, name ) \ + { \ + freelist_type fl; \ + test( fl ); \ + } CDSSTRESS_FREELIST_F( FreeList, cds::intrusive::FreeList ) @@ -166,9 +178,8 @@ namespace { atomics::atomic tp; if ( tp.is_lock_free()) { - using FL = cds::intrusive::TaggedFreeList; - std::unique_ptr fl(new FL()); - test( *fl ); + cds::intrusive::TaggedFreeList fl; + test( fl ); } else std::cout << "Double-width CAS is not supported\n"; diff --git a/test/stress/parallel/parallel_freelist_put_get_single.cpp b/test/stress/parallel/parallel_freelist_put_get_single.cpp index b8a00e31..dfdc4868 100644 --- a/test/stress/parallel/parallel_freelist_put_get_single.cpp +++ b/test/stress/parallel/parallel_freelist_put_get_single.cpp @@ -84,6 +84,7 @@ namespace { for ( size_t pass = 0; pass < s_nPassCount; ++pass ) { item_type* p; while ( (p = static_cast( m_FreeList.get())) == nullptr ); + p->counter.fetch_add( 1, atomics::memory_order_relaxed ); m_FreeList.put( p ); } } @@ -94,9 +95,11 @@ namespace { { cds_test::config const& cfg = get_config( "SequentialFreeList" ); - s_nPassCount = cfg.get_size_t( "SinglePassCount", s_nPassCount ); + s_nThreadCount = cfg.get_size_t( "ThreadCount", s_nThreadCount ); + s_nPassCount = cfg.get_size_t( "PassCount", s_nPassCount ); - s_nThreadCount = 1; + if ( s_nThreadCount == 0 ) + s_nThreadCount = 1; if ( s_nPassCount == 0 ) s_nPassCount = 1000; } @@ -113,21 +116,30 @@ namespace { list.put( &item ); pool.add( new Worker( pool, list ), s_nThreadCount ); - std::unique_ptr> worker( - new Worker(pool, list)); - worker->test(); + + propout() << std::make_pair( "work_thread", s_nThreadCount ) + << std::make_pair( "pass_count", s_nPassCount ); + + std::chrono::milliseconds duration = pool.run(); + + propout() << std::make_pair( "duration", duration ); + + // analyze result + EXPECT_EQ( item.counter.load( atomics::memory_order_relaxed ), s_nPassCount * s_nThreadCount ); + list.clear( []( typename FreeList::node* ) {} ); } }; - size_t put_get_single::s_nThreadCount = 1; + size_t put_get_single::s_nThreadCount = 4; size_t put_get_single::s_nPassCount = 100000; -#define CDSSTRESS_FREELIST_F(name, freelist_type) \ - TEST_F(put_get_single, name) { \ - std::unique_ptr fl(new freelist_type()); \ - test(*fl); \ - } +#define CDSSTRESS_FREELIST_F( name, freelist_type ) \ + TEST_F( put_get_single, name ) \ + { \ + freelist_type fl; \ + test( fl ); \ + } CDSSTRESS_FREELIST_F( FreeList, cds::intrusive::FreeList ) @@ -144,9 +156,8 @@ namespace { atomics::atomic tp; if ( tp.is_lock_free()) { - using FL = cds::intrusive::TaggedFreeList; - std::unique_ptr fl(new FL()); - test( *fl ); + cds::intrusive::TaggedFreeList fl; + test( fl ); } else std::cout << "Double-width CAS is not supported\n"; diff --git a/test/stress/queue/CMakeLists.txt b/test/stress/queue/CMakeLists.txt index d4618a46..7de13597 100644 --- a/test/stress/queue/CMakeLists.txt +++ b/test/stress/queue/CMakeLists.txt @@ -8,9 +8,9 @@ set(CDSSTRESS_QUEUE_POP_SOURCES ../main.cpp pop.cpp ) -add_executable(${CDSSTRESS_QUEUE_POP} ${CDSSTRESS_QUEUE_POP_SOURCES}) -target_link_libraries(${CDSSTRESS_QUEUE_POP} ${CDS_TEST_LIBRARIES} ${CDSSTRESS_FRAMEWORK_LIBRARY}) -add_test(NAME ${CDSSTRESS_QUEUE_POP} COMMAND ${CDSSTRESS_QUEUE_POP} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}) +#add_executable(${CDSSTRESS_QUEUE_POP} ${CDSSTRESS_QUEUE_POP_SOURCES}) +#target_link_libraries(${CDSSTRESS_QUEUE_POP} ${CDS_TEST_LIBRARIES} ${CDSSTRESS_FRAMEWORK_LIBRARY}) +#add_test(NAME ${CDSSTRESS_QUEUE_POP} COMMAND ${CDSSTRESS_QUEUE_POP} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}) # stress-queue-push set(CDSSTRESS_QUEUE_PUSH stress-queue-push) @@ -18,9 +18,9 @@ set(CDSSTRESS_QUEUE_PUSH_SOURCES ../main.cpp push.cpp ) -add_executable(${CDSSTRESS_QUEUE_PUSH} ${CDSSTRESS_QUEUE_PUSH_SOURCES}) -target_link_libraries(${CDSSTRESS_QUEUE_PUSH} ${CDS_TEST_LIBRARIES} ${CDSSTRESS_FRAMEWORK_LIBRARY}) -add_test(NAME ${CDSSTRESS_QUEUE_PUSH} COMMAND ${CDSSTRESS_QUEUE_PUSH} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}) +#add_executable(${CDSSTRESS_QUEUE_PUSH} ${CDSSTRESS_QUEUE_PUSH_SOURCES}) +#target_link_libraries(${CDSSTRESS_QUEUE_PUSH} ${CDS_TEST_LIBRARIES} ${CDSSTRESS_FRAMEWORK_LIBRARY}) +#add_test(NAME ${CDSSTRESS_QUEUE_PUSH} COMMAND ${CDSSTRESS_QUEUE_PUSH} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}) # stress-queue-push-pop set(CDSSTRESS_QUEUE_PUSHPOP stress-queue-push-pop) @@ -29,9 +29,9 @@ set(CDSSTRESS_QUEUE_PUSHPOP_SOURCES push_pop.cpp #intrusive_push_pop.cpp ) -add_executable(${CDSSTRESS_QUEUE_PUSHPOP} ${CDSSTRESS_QUEUE_PUSHPOP_SOURCES}) -target_link_libraries(${CDSSTRESS_QUEUE_PUSHPOP} ${CDS_TEST_LIBRARIES} ${CDSSTRESS_FRAMEWORK_LIBRARY}) -add_test(NAME ${CDSSTRESS_QUEUE_PUSHPOP} COMMAND ${CDSSTRESS_QUEUE_PUSHPOP} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}) +#add_executable(${CDSSTRESS_QUEUE_PUSHPOP} ${CDSSTRESS_QUEUE_PUSHPOP_SOURCES}) +#target_link_libraries(${CDSSTRESS_QUEUE_PUSHPOP} ${CDS_TEST_LIBRARIES} ${CDSSTRESS_FRAMEWORK_LIBRARY}) +#add_test(NAME ${CDSSTRESS_QUEUE_PUSHPOP} COMMAND ${CDSSTRESS_QUEUE_PUSHPOP} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}) # stress-queue-random set(CDSSTRESS_QUEUE_RANDOM stress-queue-random) @@ -60,9 +60,9 @@ set(CDSSTRESS_SPSC_QUEUE_SOURCES spsc_queue.cpp spsc_buffer.cpp ) -add_executable(${CDSSTRESS_SPSC_QUEUE} ${CDSSTRESS_SPSC_QUEUE_SOURCES}) -target_link_libraries(${CDSSTRESS_SPSC_QUEUE} ${CDS_TEST_LIBRARIES} ${CDSSTRESS_FRAMEWORK_LIBRARY}) -add_test(NAME ${CDSSTRESS_SPSC_QUEUE} COMMAND ${CDSSTRESS_SPSC_QUEUE} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}) +#add_executable(${CDSSTRESS_SPSC_QUEUE} ${CDSSTRESS_SPSC_QUEUE_SOURCES}) +#target_link_libraries(${CDSSTRESS_SPSC_QUEUE} ${CDS_TEST_LIBRARIES} ${CDSSTRESS_FRAMEWORK_LIBRARY}) +#add_test(NAME ${CDSSTRESS_SPSC_QUEUE} COMMAND ${CDSSTRESS_SPSC_QUEUE} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}) # stress-queue diff --git a/test/stress/sequential/sequential-map/insdelfind/.CMakeLists.txt.swp b/test/stress/sequential/sequential-map/insdelfind/.CMakeLists.txt.swp new file mode 100644 index 0000000000000000000000000000000000000000..eb8357738151a4453e6483933b77add3d95eddf1 GIT binary patch literal 12288 zcmeI2J8#oa6o5~ecoh&86HA~4k|A+hKx{~9;*!wjA=`l#kggp27F%%~$9a~tPGIOjb*z4M>vMe1xnHg=RlU{eYxzR#QtATW zaSY(qlzn4j`7+#319;qiVCjuU7#en%_mVTi;@y}e3||inOR93$u)gey7RZz}B5DKPKzCC)utrxwB%srj#k@HNI$zK%|1zpj&~?WPl7r8yJW4 zvoq6SeDd_E*u?QlbSg#202v?yWPl8i0Wv@a$N(AGa|Qx$3?AXE_H|~K?3~92&YfTB zLfDDiUGC&5%02v?yWPl9(hX!;L;M;zH_Xn_f{QrOV@BfXX0MC%82t)G7 zEHZ&?9s$@uUL#Ks6UiZQ-PSAOmE843Ggbu*VG~Al5nB zyC;+V-IL*#$z*@aWYRa9f1hl5t=z0!mWx>xbkk%;Qv{7V3v~ZB58|;=^`LcAxUn-{ zOc&(X)LJ23X8EF;l^5sp#Vk`YmGxMrR4Am2*@)=%lCqF5USZk1B4@OcvW$81lANh% z>A6Ljl`2}fqOo#X%dID%-57Ihw}#)UzV6#x#CI+`wU)`MOp{fOE#~Kxw33(AbsQY8 zs+uCJDw|iZ>9Bq$VHqog7WgVRnt@(*_^_cngKVEMQ%e;kgT)df{p89+^n}6PuoI5E zJ92s>@9ZX5-m0d(tg(?odO>EHilWFxt&l%ma@Vfv#z_$(uF1X&}!Uqa0j%{ z`5)s=4)j#@8?I=$`dueXjp)30Ih8_Z;a6R^-PToXBHmx{(QCEqY_LAQ0c?+(y$ajo z{n$Y3ZQqvHyLT`i>W&U~ZAWJe%8t(LyWWyBI2EI5)EbS5ZhM#iQE`9C1B9Q&_D^8s TOE!F|Cw96yR~~(@