X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2Fstress%2Fmap%2Finsdelfind%2Fmap_insdelfind.cpp;h=7bb0d8436d128ba0848cb6ab1cb9492f59df83b8;hb=4597fcc675859a34f2484b60d7fed6b15a5a0cf7;hp=830356e898311db3ec831f00b5ffd462555f8996;hpb=bf562cb028f023b2d49dd7dd45fcaa3f5ddb91f3;p=libcds.git diff --git a/test/stress/map/insdelfind/map_insdelfind.cpp b/test/stress/map/insdelfind/map_insdelfind.cpp index 830356e8..7bb0d843 100644 --- a/test/stress/map/insdelfind/map_insdelfind.cpp +++ b/test/stress/map/insdelfind/map_insdelfind.cpp @@ -35,6 +35,22 @@ 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_nBronsonAVLTreeMapPassCount = 100; + + size_t Map_InsDelFind::s_nHpFeldmanPassCount = 100; + size_t Map_InsDelFind::s_nHpEllenBinTreeMapPassCount = 100; + size_t Map_InsDelFind::s_nHpMichaelMapPassCount = 100; + size_t Map_InsDelFind::s_nHpMichaelIterableMapPassCount = 100; + size_t Map_InsDelFind::s_nHpSkipListMapPassCount = 100; + size_t Map_InsDelFind::s_nHpSplitListMapPassCount = 100; + size_t Map_InsDelFind::s_nHpSplitListIterableMapPassCount = 100; + + size_t Map_InsDelFind::s_nRcuFeldmanPassCount = 100; + size_t Map_InsDelFind::s_nRcuEllenBinTreeMapPassCount = 100; + size_t Map_InsDelFind::s_nRcuMichaelMapPassCount = 100; + size_t Map_InsDelFind::s_nRcuSkipListMapPassCount = 100; + size_t Map_InsDelFind::s_nRcuSplitListMapPassCount = 100; + size_t Map_InsDelFind::s_nMaxLoadFactor = 8; unsigned int Map_InsDelFind::s_nInsertPercentage = 5; unsigned int Map_InsDelFind::s_nDeletePercentage = 5; @@ -65,7 +81,68 @@ namespace map { s_nPassCount = cfg.get_size_t( "PassCount", s_nPassCount ); if ( s_nPassCount == 0 ) - s_nThreadCount = 1000; + s_nPassCount = 1000; + + s_nHpFeldmanPassCount = + cfg.get_size_t("HpFeldmanPassCount", s_nHpFeldmanPassCount); + if (s_nHpFeldmanPassCount == 0) + s_nHpFeldmanPassCount = 500; + + s_nRcuFeldmanPassCount = + cfg.get_size_t("RcuFeldmanPassCount", s_nRcuFeldmanPassCount); + if (s_nRcuFeldmanPassCount == 0) + s_nRcuFeldmanPassCount = 500; + + s_nHpEllenBinTreeMapPassCount = cfg.get_size_t( + "HpEllenBinTreeMapPassCount", s_nHpEllenBinTreeMapPassCount); + if (s_nHpEllenBinTreeMapPassCount == 0) + s_nHpEllenBinTreeMapPassCount = 500; + + s_nRcuEllenBinTreeMapPassCount = cfg.get_size_t( + "RcuEllenBinTreeMapPassCount", s_nRcuEllenBinTreeMapPassCount); + if (s_nRcuEllenBinTreeMapPassCount == 0) + s_nRcuEllenBinTreeMapPassCount = 500; + + s_nHpMichaelMapPassCount = + cfg.get_size_t("HpMichaelMapPassCount", s_nHpMichaelMapPassCount); + if (s_nHpMichaelMapPassCount == 0) + s_nHpMichaelMapPassCount = 500; + + s_nHpMichaelIterableMapPassCount = cfg.get_size_t( + "HpMichaelIterableMapPassCount", s_nHpMichaelIterableMapPassCount); + if (s_nHpMichaelIterableMapPassCount == 0) + s_nHpMichaelIterableMapPassCount = 500; + + s_nRcuMichaelMapPassCount = + cfg.get_size_t("RcuMichaelMapPassCount", s_nRcuMichaelMapPassCount); + if (s_nRcuMichaelMapPassCount == 0) + s_nRcuMichaelMapPassCount = 500; + + s_nHpSkipListMapPassCount = + cfg.get_size_t("HpSkipListMapPassCount", s_nHpSkipListMapPassCount); + if (s_nHpSkipListMapPassCount == 0) + s_nHpSkipListMapPassCount = 500; + + s_nRcuSkipListMapPassCount = + cfg.get_size_t("RcuSkipListMapPassCount", s_nRcuSkipListMapPassCount); + if (s_nRcuSkipListMapPassCount == 0) + s_nRcuSkipListMapPassCount = 500; + + s_nHpSplitListMapPassCount = + cfg.get_size_t("HpSplitListMapPassCount", s_nHpSplitListMapPassCount); + if (s_nHpSplitListMapPassCount == 0) + s_nHpSplitListMapPassCount = 500; + + s_nHpSplitListIterableMapPassCount = + cfg.get_size_t("HpSplitListIterableMapPassCount", + s_nHpSplitListIterableMapPassCount); + if (s_nHpSplitListIterableMapPassCount == 0) + s_nHpSplitListIterableMapPassCount = 500; + + s_nRcuSplitListMapPassCount = + cfg.get_size_t("RcuSplitListMapPassCount", s_nRcuSplitListMapPassCount); + if (s_nRcuSplitListMapPassCount == 0) + s_nRcuSplitListMapPassCount = 500; s_nMaxLoadFactor = cfg.get_size_t( "MaxLoadFactor", s_nMaxLoadFactor ); if ( s_nMaxLoadFactor == 0 ) @@ -128,9 +205,10 @@ namespace map { if ( s_nMaxLoadFactor == 0 ) s_nMaxLoadFactor = 1; - std::vector lf; - for ( size_t n = 1; n <= s_nMaxLoadFactor; n *= 2 ) - lf.push_back( n ); + // Only test with max load factor. + std::vector lf = {s_nMaxLoadFactor}; +// for (size_t n = 1; n <= s_nMaxLoadFactor; n *= 2) +// lf.push_back(n); return lf; }