MultiLevelHashSet test, bugfixing
[libcds.git] / tests / unit / set2 / set_delodd.cpp
1 //$$CDS-header$$
2
3 #include "set2/set_delodd.h"
4
5 namespace set2 {
6     CPPUNIT_TEST_SUITE_REGISTRATION( Set_DelOdd );
7
8     void Set_DelOdd::setUpParams( const CppUnitMini::TestCfg& cfg )
9     {
10         c_nSetSize = cfg.getSizeT("MapSize", c_nSetSize );
11         c_nInsThreadCount = cfg.getSizeT("InsThreadCount", c_nInsThreadCount);
12         c_nDelThreadCount = cfg.getSizeT("DelThreadCount", c_nDelThreadCount);
13         c_nExtractThreadCount = cfg.getSizeT("ExtractThreadCount", c_nExtractThreadCount);
14         c_nMaxLoadFactor = cfg.getSizeT("MaxLoadFactor", c_nMaxLoadFactor);
15         c_bPrintGCState = cfg.getBool("PrintGCStateFlag", true );
16
17         c_nCuckooInitialSize = cfg.getSizeT("CuckooInitialSize", c_nCuckooInitialSize );
18         c_nCuckooProbesetSize = cfg.getSizeT("CuckooProbesetSize", c_nCuckooProbesetSize );
19         c_nCuckooProbesetThreshold = cfg.getSizeT("CuckooProbesetThreshold", c_nCuckooProbesetThreshold );
20
21         c_nMultiLevelSet_HeadBits = cfg.getSizeT("MultiLevelMapHeadBits", c_nMultiLevelSet_HeadBits);
22         c_nMultiLevelSet_ArrayBits = cfg.getSizeT("MultiLevelMapArrayBits", c_nMultiLevelSet_ArrayBits);
23
24         if ( c_nInsThreadCount == 0 )
25             c_nInsThreadCount = std::thread::hardware_concurrency();
26         if ( c_nDelThreadCount == 0 && c_nExtractThreadCount == 0 ) {
27             c_nExtractThreadCount = std::thread::hardware_concurrency() / 2;
28             c_nDelThreadCount = std::thread::hardware_concurrency() - c_nExtractThreadCount;
29         }
30
31         m_arrData.resize( c_nSetSize );
32         for ( size_t i = 0; i < c_nSetSize; ++i )
33             m_arrData[i] = i;
34         shuffle( m_arrData.begin(), m_arrData.end() );
35     }
36 } // namespace set2