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;
static size_t s_nHpEllenBinTreeMapPassCount;
static size_t s_nHpFeldmanPassCount;
static size_t s_nHpMichaelMapPassCount;
+ static size_t s_nHpMichaelIterableMapPassCount;
static size_t s_nHpSkipListMapPassCount;
static size_t s_nHpSplitListMapPassCount;
+ static size_t s_nHpSplitListIterableMapPassCount;
static size_t s_nRcuEllenBinTreeMapPassCount;
static size_t s_nRcuFeldmanPassCount;
Map_InsDelFind_LF::run_test<Map>();
}
+ template <class Map>
+ void run_iterable_michael_hp() {
+ Map_InsDelFind::s_nPassCount =
+ Map_InsDelFind::s_nHpMichaelIterableMapPassCount;
+ Map_InsDelFind_LF::run_test<Map>();
+ }
+
+ template <class Map>
+ void run_iterable_split_list_hp() {
+ Map_InsDelFind::s_nPassCount =
+ Map_InsDelFind::s_nHpSplitListIterableMapPassCount;
+ Map_InsDelFind_LF::run_test<Map>();
+ }
+
template <class Map>
void run_michael_rcu() {
Map_InsDelFind::s_nPassCount =
#include "map_type_michael.h"
namespace map {
+ #undef CDSSTRESS_MichaelMap_HP
+
+ #define CDSSTRESS_MichaelMap_HP( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_Iterable( fixture, test_case, key_type, value_type )
+
+ CDSSTRESS_MichaelMap_HP( Map_InsDelFind_LF, run_iterable_michael_hp, size_t, size_t )
+
+ #undef CDSSTRESS_MichaelMap_HP
+
+ #define CDSSTRESS_MichaelMap_HP( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_HP_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_DHP_less, key_type, value_type ) \
+ \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_HP_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_DHP_less, key_type, value_type ) \
+ \
+ CDSSTRESS_MichaelMap_HP_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_HP_2( fixture, test_case, key_type, value_type ) \
CDSSTRESS_MichaelMap_HP( Map_InsDelFind_LF, run_michael_hp, size_t, size_t )
namespace map {
CDSSTRESS_SplitListMap_HP( Map_InsDelFind_LF, run_split_list_hp, size_t, size_t )
- CDSSTRESS_SplitListIterableMap( Map_InsDelFind_LF, run_split_list_hp, size_t, size_t )
+ CDSSTRESS_SplitListIterableMap( Map_InsDelFind_LF, run_iterable_split_list_hp, size_t, size_t )
} // namespace map