3 #include "hdr_segmented_queue.h"
4 #include <cds/container/segmented_queue.h>
5 #include <cds/gc/dhp.h>
9 void HdrSegmentedQueue::SegmQueue_DHP()
11 typedef cds::container::SegmentedQueue< cds::gc::DHP, item > queue_type;
15 void HdrSegmentedQueue::SegmQueue_DHP_mutex()
17 typedef cds::container::SegmentedQueue< cds::gc::DHP, item,
18 cds::container::segmented_queue::make_traits<
19 cds::opt::lock_type< std::mutex >
26 void HdrSegmentedQueue::SegmQueue_DHP_shuffle()
28 struct queue_traits : public cds::container::segmented_queue::traits
30 typedef cds::atomicity::item_counter item_counter;
31 typedef cds::opt::v::random_shuffle_permutation<> permutation_generator;
33 typedef cds::container::SegmentedQueue< cds::gc::DHP, item, queue_traits > queue_type;
38 void HdrSegmentedQueue::SegmQueue_DHP_stat()
40 struct queue_traits : public
41 cds::container::segmented_queue::make_traits <
42 cds::opt::item_counter< cds::atomicity::item_counter >
43 , cds::opt::permutation_generator< cds::opt::v::random_permutation<> >
44 , cds::opt::stat < cds::container::segmented_queue::stat<> >
47 typedef cds::container::SegmentedQueue< cds::gc::DHP, item, queue_traits > queue_type;
52 void HdrSegmentedQueue::SegmQueue_DHP_cacheline_padding()
54 struct queue_traits : public cds::container::segmented_queue::traits
56 enum { padding = cds::opt::cache_line_padding };
59 typedef cds::container::SegmentedQueue< cds::gc::DHP, item, queue_traits > queue_type;
63 void HdrSegmentedQueue::SegmQueue_DHP_mutex_cacheline_padding()
65 typedef cds::container::SegmentedQueue< cds::gc::DHP, item,
66 cds::container::segmented_queue::make_traits<
67 cds::opt::lock_type< std::mutex >
68 , cds::opt::padding< cds::opt::cache_line_padding >
75 void HdrSegmentedQueue::SegmQueue_DHP_shuffle_cacheline_padding()
77 struct queue_traits : public cds::container::segmented_queue::traits
79 typedef cds::atomicity::item_counter item_counter;
80 typedef cds::opt::v::random_shuffle_permutation<> permutation_generator;
81 enum { padding = cds::opt::cache_line_padding };
83 typedef cds::container::SegmentedQueue< cds::gc::DHP, item, queue_traits > queue_type;
88 void HdrSegmentedQueue::SegmQueue_DHP_stat_cacheline_padding()
90 struct queue_traits : public
91 cds::container::segmented_queue::make_traits <
92 cds::opt::item_counter< cds::atomicity::item_counter >
93 , cds::opt::permutation_generator< cds::opt::v::random_permutation<> >
94 , cds::opt::stat < cds::container::segmented_queue::stat<> >
95 , cds::opt::padding< cds::opt::cache_line_padding >
98 typedef cds::container::SegmentedQueue< cds::gc::DHP, item, queue_traits > queue_type;