3 #include "map/hdr_skiplist_map_rcu.h"
5 #include <cds/urcu/signal_threaded.h>
6 #include <cds/container/skip_list_map_rcu.h>
8 #include "unit/michael_alloc.h"
9 #include "map/print_skiplist_stat.h"
12 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
14 typedef cds::urcu::gc< cds::urcu::signal_threaded<> > rcu_type;
18 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_less()
20 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
21 typedef cc::SkipListMap< rcu_type, key_type, value_type,
22 cc::skip_list::make_traits<
24 ,co::item_counter< simple_item_counter >
27 test< set, misc::print_skiplist_stat<set::stat> >();
31 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_cmp()
33 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
34 typedef cc::SkipListMap< rcu_type, key_type, value_type,
35 cc::skip_list::make_traits<
37 ,co::item_counter< simple_item_counter >
40 test< set, misc::print_skiplist_stat<set::stat> >();
44 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_cmpless()
46 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
47 typedef cc::SkipListMap< rcu_type, key_type, value_type,
48 cc::skip_list::make_traits<
51 ,co::item_counter< simple_item_counter >
54 test< set, misc::print_skiplist_stat<set::stat> >();
58 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_less_stat()
60 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
61 typedef cc::SkipListMap< rcu_type, key_type, value_type,
62 cc::skip_list::make_traits<
64 ,co::item_counter< simple_item_counter >
65 ,co::stat< cc::skip_list::stat<> >
68 test< set, misc::print_skiplist_stat<set::stat> >();
72 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_cmp_stat()
74 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
75 typedef cc::SkipListMap< rcu_type, key_type, value_type,
76 cc::skip_list::make_traits<
78 ,co::item_counter< simple_item_counter >
79 ,co::stat< cc::skip_list::stat<> >
82 test< set, misc::print_skiplist_stat<set::stat> >();
86 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_cmpless_stat()
88 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
89 typedef cc::SkipListMap< rcu_type, key_type, value_type,
90 cc::skip_list::make_traits<
93 ,co::item_counter< simple_item_counter >
94 ,co::stat< cc::skip_list::stat<> >
97 test< set, misc::print_skiplist_stat<set::stat> >();
101 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_xorshift_less()
103 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
104 typedef cc::SkipListMap< rcu_type, key_type, value_type,
105 cc::skip_list::make_traits<
107 ,co::item_counter< simple_item_counter >
108 ,cc::skip_list::random_level_generator< cc::skip_list::xorshift >
111 test< set, misc::print_skiplist_stat<set::stat> >();
115 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_xorshift_cmp()
117 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
118 typedef cc::SkipListMap< rcu_type, key_type, value_type,
119 cc::skip_list::make_traits<
121 ,co::item_counter< simple_item_counter >
122 ,cc::skip_list::random_level_generator< cc::skip_list::xorshift >
125 test< set, misc::print_skiplist_stat<set::stat> >();
129 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_xorshift_cmpless()
131 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
132 typedef cc::SkipListMap< rcu_type, key_type, value_type,
133 cc::skip_list::make_traits<
136 ,co::item_counter< simple_item_counter >
137 ,cc::skip_list::random_level_generator< cc::skip_list::xorshift >
140 test< set, misc::print_skiplist_stat<set::stat> >();
144 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_xorshift_less_stat()
146 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
147 typedef cc::SkipListMap< rcu_type, key_type, value_type,
148 cc::skip_list::make_traits<
150 ,co::item_counter< simple_item_counter >
151 ,co::stat< cc::skip_list::stat<> >
152 ,cc::skip_list::random_level_generator< cc::skip_list::xorshift >
155 test< set, misc::print_skiplist_stat<set::stat> >();
159 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_xorshift_cmp_stat()
161 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
162 typedef cc::SkipListMap< rcu_type, key_type, value_type,
163 cc::skip_list::make_traits<
165 ,co::item_counter< simple_item_counter >
166 ,co::stat< cc::skip_list::stat<> >
167 ,cc::skip_list::random_level_generator< cc::skip_list::xorshift >
170 test< set, misc::print_skiplist_stat<set::stat> >();
174 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_xorshift_cmpless_stat()
176 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
177 typedef cc::SkipListMap< rcu_type, key_type, value_type,
178 cc::skip_list::make_traits<
181 ,co::item_counter< simple_item_counter >
182 ,co::stat< cc::skip_list::stat<> >
183 ,cc::skip_list::random_level_generator< cc::skip_list::xorshift >
186 test< set, misc::print_skiplist_stat<set::stat> >();
190 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_turbopas_less()
192 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
193 typedef cc::SkipListMap< rcu_type, key_type, value_type,
194 cc::skip_list::make_traits<
196 ,co::item_counter< simple_item_counter >
197 ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal >
200 test< set, misc::print_skiplist_stat<set::stat> >();
204 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_turbopas_cmp()
206 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
207 typedef cc::SkipListMap< rcu_type, key_type, value_type,
208 cc::skip_list::make_traits<
210 ,co::item_counter< simple_item_counter >
211 ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal >
214 test< set, misc::print_skiplist_stat<set::stat> >();
218 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_turbopas_cmpless()
220 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
221 typedef cc::SkipListMap< rcu_type, key_type, value_type,
222 cc::skip_list::make_traits<
225 ,co::item_counter< simple_item_counter >
226 ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal >
229 test< set, misc::print_skiplist_stat<set::stat> >();
233 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_turbopas_less_stat()
235 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
236 typedef cc::SkipListMap< rcu_type, key_type, value_type,
237 cc::skip_list::make_traits<
239 ,co::item_counter< simple_item_counter >
240 ,co::stat< cc::skip_list::stat<> >
241 ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal >
244 test< set, misc::print_skiplist_stat<set::stat> >();
248 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_turbopas_cmp_stat()
250 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
251 typedef cc::SkipListMap< rcu_type, key_type, value_type,
252 cc::skip_list::make_traits<
254 ,co::item_counter< simple_item_counter >
255 ,co::stat< cc::skip_list::stat<> >
256 ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal >
259 test< set, misc::print_skiplist_stat<set::stat> >();
263 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_turbopas_cmpless_stat()
265 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
266 typedef cc::SkipListMap< rcu_type, key_type, value_type,
267 cc::skip_list::make_traits<
270 ,co::item_counter< simple_item_counter >
271 ,co::stat< cc::skip_list::stat<> >
272 ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal >
275 test< set, misc::print_skiplist_stat<set::stat> >();
279 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_michaelalloc_less()
281 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
282 typedef cc::SkipListMap< rcu_type, key_type, value_type,
283 cc::skip_list::make_traits<
285 ,co::item_counter< simple_item_counter >
286 ,co::allocator< memory::MichaelAllocator<int> >
289 test< set, misc::print_skiplist_stat<set::stat> >();
293 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_michaelalloc_cmp()
295 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
296 typedef cc::SkipListMap< rcu_type, key_type, value_type,
297 cc::skip_list::make_traits<
299 ,co::item_counter< simple_item_counter >
300 ,co::allocator< memory::MichaelAllocator<int> >
303 test< set, misc::print_skiplist_stat<set::stat> >();
307 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_michaelalloc_cmpless()
309 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
310 typedef cc::SkipListMap< rcu_type, key_type, value_type,
311 cc::skip_list::make_traits<
314 ,co::item_counter< simple_item_counter >
315 ,co::allocator< memory::MichaelAllocator<int> >
318 test< set, misc::print_skiplist_stat<set::stat> >();
322 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_michaelalloc_less_stat()
324 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
325 typedef cc::SkipListMap< rcu_type, key_type, value_type,
326 cc::skip_list::make_traits<
328 ,co::item_counter< simple_item_counter >
329 ,co::stat< cc::skip_list::stat<> >
330 ,co::allocator< memory::MichaelAllocator<int> >
333 test< set, misc::print_skiplist_stat<set::stat> >();
337 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_michaelalloc_cmp_stat()
339 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
340 typedef cc::SkipListMap< rcu_type, key_type, value_type,
341 cc::skip_list::make_traits<
343 ,co::item_counter< simple_item_counter >
344 ,co::stat< cc::skip_list::stat<> >
345 ,co::allocator< memory::MichaelAllocator<int> >
348 test< set, misc::print_skiplist_stat<set::stat> >();
352 void SkipListMapRCUHdrTest::SkipList_RCU_SHT_michaelalloc_cmpless_stat()
354 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
355 typedef cc::SkipListMap< rcu_type, key_type, value_type,
356 cc::skip_list::make_traits<
359 ,co::item_counter< simple_item_counter >
360 ,co::stat< cc::skip_list::stat<> >
361 ,co::allocator< memory::MichaelAllocator<int> >
364 test< set, misc::print_skiplist_stat<set::stat> >();