3 #include "set/hdr_skiplist_set_rcu.h"
5 #include <cds/urcu/signal_threaded.h>
6 #include <cds/container/skip_list_set_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 SkipListSetRCUHdrTest::SkipList_RCU_SHT_less()
20 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
21 typedef cc::SkipListSet< rcu_type, item,
22 cc::skip_list::make_traits<
23 co::less< less<item > >
24 ,co::item_counter< simple_item_counter >
27 test< set, misc::print_skiplist_stat<set::stat> >();
31 void SkipListSetRCUHdrTest::SkipList_RCU_SHT_cmp()
33 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
34 typedef cc::SkipListSet< rcu_type, item,
35 cc::skip_list::make_traits<
36 co::compare< cmp<item > >
37 ,co::item_counter< simple_item_counter >
40 test< set, misc::print_skiplist_stat<set::stat> >();
44 void SkipListSetRCUHdrTest::SkipList_RCU_SHT_cmpless()
46 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
47 typedef cc::SkipListSet< rcu_type, item,
48 cc::skip_list::make_traits<
49 co::less< less<item > >
50 ,co::compare< cmp<item > >
51 ,co::item_counter< simple_item_counter >
54 test< set, misc::print_skiplist_stat<set::stat> >();
58 void SkipListSetRCUHdrTest::SkipList_RCU_SHT_less_stat()
60 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
61 typedef cc::SkipListSet< rcu_type, item,
62 cc::skip_list::make_traits<
63 co::less< less<item > >
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 SkipListSetRCUHdrTest::SkipList_RCU_SHT_cmp_stat()
74 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
75 typedef cc::SkipListSet< rcu_type, item,
76 cc::skip_list::make_traits<
77 co::compare< cmp<item > >
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 SkipListSetRCUHdrTest::SkipList_RCU_SHT_cmpless_stat()
88 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
89 typedef cc::SkipListSet< rcu_type, item,
90 cc::skip_list::make_traits<
91 co::less< less<item > >
92 ,co::compare< cmp<item > >
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 SkipListSetRCUHdrTest::SkipList_RCU_SHT_xorshift_less()
103 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
104 typedef cc::SkipListSet< rcu_type, item,
105 cc::skip_list::make_traits<
106 co::less< less<item > >
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 SkipListSetRCUHdrTest::SkipList_RCU_SHT_xorshift_cmp()
117 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
118 typedef cc::SkipListSet< rcu_type, item,
119 cc::skip_list::make_traits<
120 co::compare< cmp<item > >
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 SkipListSetRCUHdrTest::SkipList_RCU_SHT_xorshift_cmpless()
131 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
132 typedef cc::SkipListSet< rcu_type, item,
133 cc::skip_list::make_traits<
134 co::less< less<item > >
135 ,co::compare< cmp<item > >
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 SkipListSetRCUHdrTest::SkipList_RCU_SHT_xorshift_less_stat()
146 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
147 typedef cc::SkipListSet< rcu_type, item,
148 cc::skip_list::make_traits<
149 co::less< less<item > >
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 SkipListSetRCUHdrTest::SkipList_RCU_SHT_xorshift_cmp_stat()
161 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
162 typedef cc::SkipListSet< rcu_type, item,
163 cc::skip_list::make_traits<
164 co::compare< cmp<item > >
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 SkipListSetRCUHdrTest::SkipList_RCU_SHT_xorshift_cmpless_stat()
176 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
177 typedef cc::SkipListSet< rcu_type, item,
178 cc::skip_list::make_traits<
179 co::less< less<item > >
180 ,co::compare< cmp<item > >
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 SkipListSetRCUHdrTest::SkipList_RCU_SHT_turbopas_less()
192 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
193 typedef cc::SkipListSet< rcu_type, item,
194 cc::skip_list::make_traits<
195 co::less< less<item > >
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 SkipListSetRCUHdrTest::SkipList_RCU_SHT_turbopas_cmp()
206 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
207 typedef cc::SkipListSet< rcu_type, item,
208 cc::skip_list::make_traits<
209 co::compare< cmp<item > >
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 SkipListSetRCUHdrTest::SkipList_RCU_SHT_turbopas_cmpless()
220 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
221 typedef cc::SkipListSet< rcu_type, item,
222 cc::skip_list::make_traits<
223 co::less< less<item > >
224 ,co::compare< cmp<item > >
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 SkipListSetRCUHdrTest::SkipList_RCU_SHT_turbopas_less_stat()
235 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
236 typedef cc::SkipListSet< rcu_type, item,
237 cc::skip_list::make_traits<
238 co::less< less<item > >
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 SkipListSetRCUHdrTest::SkipList_RCU_SHT_turbopas_cmp_stat()
250 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
251 typedef cc::SkipListSet< rcu_type, item,
252 cc::skip_list::make_traits<
253 co::compare< cmp<item > >
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 SkipListSetRCUHdrTest::SkipList_RCU_SHT_turbopas_cmpless_stat()
265 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
266 typedef cc::SkipListSet< rcu_type, item,
267 cc::skip_list::make_traits<
268 co::less< less<item > >
269 ,co::compare< cmp<item > >
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 SkipListSetRCUHdrTest::SkipList_RCU_SHT_michaelalloc_less()
281 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
282 typedef cc::SkipListSet< rcu_type, item,
283 cc::skip_list::make_traits<
284 co::less< less<item > >
285 ,co::item_counter< simple_item_counter >
286 ,co::allocator< memory::MichaelAllocator<int> >
289 test< set, misc::print_skiplist_stat<set::stat> >();
293 void SkipListSetRCUHdrTest::SkipList_RCU_SHT_michaelalloc_cmp()
295 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
296 typedef cc::SkipListSet< rcu_type, item,
297 cc::skip_list::make_traits<
298 co::compare< cmp<item > >
299 ,co::item_counter< simple_item_counter >
300 ,co::allocator< memory::MichaelAllocator<int> >
303 test< set, misc::print_skiplist_stat<set::stat> >();
307 void SkipListSetRCUHdrTest::SkipList_RCU_SHT_michaelalloc_cmpless()
309 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
310 typedef cc::SkipListSet< rcu_type, item,
311 cc::skip_list::make_traits<
312 co::less< less<item > >
313 ,co::compare< cmp<item > >
314 ,co::item_counter< simple_item_counter >
315 ,co::allocator< memory::MichaelAllocator<int> >
318 test< set, misc::print_skiplist_stat<set::stat> >();
322 void SkipListSetRCUHdrTest::SkipList_RCU_SHT_michaelalloc_less_stat()
324 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
325 typedef cc::SkipListSet< rcu_type, item,
326 cc::skip_list::make_traits<
327 co::less< less<item > >
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 SkipListSetRCUHdrTest::SkipList_RCU_SHT_michaelalloc_cmp_stat()
339 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
340 typedef cc::SkipListSet< rcu_type, item,
341 cc::skip_list::make_traits<
342 co::compare< cmp<item > >
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 SkipListSetRCUHdrTest::SkipList_RCU_SHT_michaelalloc_cmpless_stat()
354 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
355 typedef cc::SkipListSet< rcu_type, item,
356 cc::skip_list::make_traits<
357 co::less< less<item > >
358 ,co::compare< cmp<item > >
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> >();