static size_t s_nPassCount;
static size_t s_nBronsonAVLTreeMapPassCount;
- static size_t s_nEllenBinTreeMapPassCount;
- static size_t s_nFeldmanPassCount;
- static size_t s_nMichaelMapPassCount;
- static size_t s_nSkipListMapPassCount;
- static size_t s_nSplitListMapPassCount;
+
+ static size_t s_nHpEllenBinTreeMapPassCount;
+ static size_t s_nHpFeldmanPassCount;
+ static size_t s_nHpMichaelMapPassCount;
+ static size_t s_nHpSkipListMapPassCount;
+ static size_t s_nHpSplitListMapPassCount;
+
+ static size_t s_nRcuEllenBinTreeMapPassCount;
+ static size_t s_nRcuFeldmanPassCount;
+ static size_t s_nRcuMichaelMapPassCount;
+ static size_t s_nRcuSkipListMapPassCount;
+ static size_t s_nRcuSplitListMapPassCount;
+
static size_t s_nThreadCount; // thread count
static size_t s_nMaxLoadFactor; // maximum load factor
}
template <class Map>
- void run_ellen_bin_tree() {
+ void run_ellen_bin_tree_hp() {
+ Map_InsDelFind::s_nPassCount =
+ Map_InsDelFind::s_nHpEllenBinTreeMapPassCount;
+ run_test<Map>();
+ }
+
+ template <class Map>
+ void run_skip_list_hp() {
+ Map_InsDelFind::s_nPassCount =
+ Map_InsDelFind::s_nHpSkipListMapPassCount;
+ run_test<Map>();
+ }
+
+ template <class Map>
+ void run_feldman_hp() {
+ Map_InsDelFind::s_nPassCount =
+ Map_InsDelFind::s_nHpFeldmanPassCount;
+ run_test<Map>();
+ }
+
+ template <class Map>
+ void run_ellen_bin_tree_rcu() {
Map_InsDelFind::s_nPassCount =
- Map_InsDelFind::s_nEllenBinTreeMapPassCount;
+ Map_InsDelFind::s_nRcuEllenBinTreeMapPassCount;
run_test<Map>();
}
template <class Map>
- void run_skip_list() {
+ void run_skip_list_rcu() {
Map_InsDelFind::s_nPassCount =
- Map_InsDelFind::s_nSkipListMapPassCount;
+ Map_InsDelFind::s_nRcuSkipListMapPassCount;
run_test<Map>();
}
template <class Map>
- void run_feldman() {
+ void run_feldman_rcu() {
Map_InsDelFind::s_nPassCount =
- Map_InsDelFind::s_nFeldmanPassCount;
+ Map_InsDelFind::s_nRcuFeldmanPassCount;
run_test<Map>();
}
};
}
template <class Map>
- void run_michael() {
+ void run_michael_hp() {
+ Map_InsDelFind::s_nPassCount =
+ Map_InsDelFind::s_nHpMichaelMapPassCount;
+ Map_InsDelFind_LF::run_test<Map>();
+ }
+
+ template <class Map>
+ void run_split_list_hp() {
+ Map_InsDelFind::s_nPassCount =
+ Map_InsDelFind::s_nHpSplitListMapPassCount;
+ Map_InsDelFind_LF::run_test<Map>();
+ }
+
+ template <class Map>
+ void run_michael_rcu() {
Map_InsDelFind::s_nPassCount =
- Map_InsDelFind::s_nMichaelMapPassCount;
+ Map_InsDelFind::s_nRcuMichaelMapPassCount;
Map_InsDelFind_LF::run_test<Map>();
}
template <class Map>
- void run_split_list() {
+ void run_split_list_rcu() {
Map_InsDelFind::s_nPassCount =
- Map_InsDelFind::s_nSplitListMapPassCount;
+ Map_InsDelFind::s_nRcuSplitListMapPassCount;
Map_InsDelFind_LF::run_test<Map>();
}