@@ -29,7 +29,7 @@ fn run_basic_subscriber(c: &mut Criterion) {
29
29
OwnedFd :: from_raw_fd ( raw_fd)
30
30
} ;
31
31
32
- event_manager. add ( event_fd. as_fd ( ) , EventSet :: IN | EventSet :: ERROR | EventSet :: HANG_UP , Box :: new ( move |_: & mut EventManager , event_set : EventSet | {
32
+ event_manager. add ( event_fd. as_fd ( ) , EventSet :: IN | EventSet :: ERROR | EventSet :: HANG_UP , Box :: new ( move |_: & mut EventManager < ( ) > , event_set : EventSet | {
33
33
match event_set {
34
34
EventSet :: IN => ( ) ,
35
35
EventSet :: ERROR => {
@@ -47,9 +47,10 @@ fn run_basic_subscriber(c: &mut Criterion) {
47
47
event_fd
48
48
} ) . collect :: < Vec < _ > > ( ) ;
49
49
50
+ let expected = vec ! [ ( ) ; usize :: try_from( no_of_subscribers) . unwrap( ) ] ;
50
51
c. bench_function ( "process_basic" , |b| {
51
52
b. iter ( || {
52
- assert_eq ! ( event_manager. wait( Some ( 0 ) ) , Ok ( no_of_subscribers ) ) ;
53
+ assert_eq ! ( event_manager. wait( Some ( 0 ) ) , Ok ( expected . as_slice ( ) ) ) ;
53
54
} )
54
55
} ) ;
55
56
@@ -75,7 +76,7 @@ fn run_arc_mutex_subscriber(c: &mut Criterion) {
75
76
let counter = Arc :: new ( Mutex :: new ( 0u64 ) ) ;
76
77
let counter_clone = counter. clone ( ) ;
77
78
78
- event_manager. add ( event_fd. as_fd ( ) , EventSet :: IN | EventSet :: ERROR | EventSet :: HANG_UP , Box :: new ( move |_: & mut EventManager , event_set : EventSet | {
79
+ event_manager. add ( event_fd. as_fd ( ) , EventSet :: IN | EventSet :: ERROR | EventSet :: HANG_UP , Box :: new ( move |_: & mut EventManager < ( ) > , event_set : EventSet | {
79
80
match event_set {
80
81
EventSet :: IN => {
81
82
* counter_clone. lock ( ) . unwrap ( ) += 1 ;
@@ -95,9 +96,10 @@ fn run_arc_mutex_subscriber(c: &mut Criterion) {
95
96
( event_fd, counter)
96
97
} ) . collect :: < Vec < _ > > ( ) ;
97
98
99
+ let expected = vec ! [ ( ) ; usize :: try_from( no_of_subscribers) . unwrap( ) ] ;
98
100
c. bench_function ( "process_with_arc_mutex" , |b| {
99
101
b. iter ( || {
100
- assert_eq ! ( event_manager. wait( Some ( 0 ) ) , Ok ( no_of_subscribers ) ) ;
102
+ assert_eq ! ( event_manager. wait( Some ( 0 ) ) , Ok ( expected . as_slice ( ) ) ) ;
101
103
} )
102
104
} ) ;
103
105
@@ -124,7 +126,7 @@ fn run_subscriber_with_inner_mut(c: &mut Criterion) {
124
126
let counter = Arc :: new ( AtomicU64 :: new ( 0 ) ) ;
125
127
let counter_clone = counter. clone ( ) ;
126
128
127
- event_manager. add ( event_fd. as_fd ( ) , EventSet :: IN | EventSet :: ERROR | EventSet :: HANG_UP , Box :: new ( move |_: & mut EventManager , event_set : EventSet | {
129
+ event_manager. add ( event_fd. as_fd ( ) , EventSet :: IN | EventSet :: ERROR | EventSet :: HANG_UP , Box :: new ( move |_: & mut EventManager < ( ) > , event_set : EventSet | {
128
130
match event_set {
129
131
EventSet :: IN => {
130
132
counter_clone. fetch_add ( 1 , Ordering :: SeqCst ) ;
@@ -144,9 +146,10 @@ fn run_subscriber_with_inner_mut(c: &mut Criterion) {
144
146
( event_fd, counter)
145
147
} ) . collect :: < Vec < _ > > ( ) ;
146
148
149
+ let expected = vec ! [ ( ) ; usize :: try_from( no_of_subscribers) . unwrap( ) ] ;
147
150
c. bench_function ( "process_with_inner_mut" , |b| {
148
151
b. iter ( || {
149
- assert_eq ! ( event_manager. wait( Some ( 0 ) ) , Ok ( no_of_subscribers ) ) ;
152
+ assert_eq ! ( event_manager. wait( Some ( 0 ) ) , Ok ( expected . as_slice ( ) ) ) ;
150
153
} )
151
154
} ) ;
152
155
@@ -177,7 +180,7 @@ fn run_multiple_subscriber_types(c: &mut Criterion) {
177
180
let counter = Arc :: new ( AtomicU64 :: new ( 0 ) ) ;
178
181
let counter_clone = counter. clone ( ) ;
179
182
180
- event_manager. add ( event_fd. as_fd ( ) , EventSet :: IN | EventSet :: ERROR | EventSet :: HANG_UP , Box :: new ( move |_: & mut EventManager , event_set : EventSet | {
183
+ event_manager. add ( event_fd. as_fd ( ) , EventSet :: IN | EventSet :: ERROR | EventSet :: HANG_UP , Box :: new ( move |_: & mut EventManager < ( ) > , event_set : EventSet | {
181
184
match event_set {
182
185
EventSet :: IN => {
183
186
counter_clone. fetch_add ( 1 , Ordering :: SeqCst ) ;
@@ -222,8 +225,8 @@ fn run_multiple_subscriber_types(c: &mut Criterion) {
222
225
. add (
223
226
inner_subscribers[ i] . as_fd ( ) ,
224
227
EventSet :: IN | EventSet :: ERROR | EventSet :: HANG_UP ,
225
- Box :: new (
226
- move |_ : & mut EventManager , event_set : EventSet | match event_set {
228
+ Box :: new ( move |_ : & mut EventManager < ( ) > , event_set : EventSet | {
229
+ match event_set {
227
230
EventSet :: IN => {
228
231
data_clone[ i] . fetch_add ( 1 , Ordering :: SeqCst ) ;
229
232
}
@@ -234,8 +237,8 @@ fn run_multiple_subscriber_types(c: &mut Criterion) {
234
237
panic ! ( "Cannot continue execution. Associated fd was closed." ) ;
235
238
}
236
239
_ => { }
237
- } ,
238
- ) ,
240
+ }
241
+ } ) ,
239
242
)
240
243
. unwrap ( ) ;
241
244
}
@@ -244,9 +247,10 @@ fn run_multiple_subscriber_types(c: &mut Criterion) {
244
247
} )
245
248
. collect :: < Vec < _ > > ( ) ;
246
249
250
+ let expected = vec ! [ ( ) ; usize :: try_from( total) . unwrap( ) ] ;
247
251
c. bench_function ( "process_dynamic_dispatch" , |b| {
248
252
b. iter ( || {
249
- assert_eq ! ( event_manager. wait( Some ( 0 ) ) , Ok ( total ) ) ;
253
+ assert_eq ! ( event_manager. wait( Some ( 0 ) ) , Ok ( expected . as_slice ( ) ) ) ;
250
254
} )
251
255
} ) ;
252
256
@@ -272,7 +276,7 @@ fn run_with_few_active_events(c: &mut Criterion) {
272
276
OwnedFd :: from_raw_fd ( raw_fd)
273
277
} ;
274
278
275
- event_manager. add ( event_fd. as_fd ( ) , EventSet :: IN | EventSet :: ERROR | EventSet :: HANG_UP , Box :: new ( move |_: & mut EventManager , event_set : EventSet | {
279
+ event_manager. add ( event_fd. as_fd ( ) , EventSet :: IN | EventSet :: ERROR | EventSet :: HANG_UP , Box :: new ( move |_: & mut EventManager < ( ) > , event_set : EventSet | {
276
280
match event_set {
277
281
EventSet :: IN => ( ) ,
278
282
EventSet :: ERROR => {
@@ -290,9 +294,10 @@ fn run_with_few_active_events(c: &mut Criterion) {
290
294
event_fd
291
295
} ) . collect :: < Vec < _ > > ( ) ;
292
296
297
+ let expected = vec ! [ ( ) ; usize :: try_from( active) . unwrap( ) ] ;
293
298
c. bench_function ( "process_dispatch_few_events" , |b| {
294
299
b. iter ( || {
295
- assert_eq ! ( event_manager. wait( Some ( 0 ) ) , Ok ( active ) ) ;
300
+ assert_eq ! ( event_manager. wait( Some ( 0 ) ) , Ok ( expected . as_slice ( ) ) ) ;
296
301
} )
297
302
} ) ;
298
303
0 commit comments