1- // cargo run --release --example demo_parallelization
1+ // cargo run --release --features orx-parallel -- example demo_parallelization
22
33use orx_linked_list:: * ;
44
@@ -12,21 +12,24 @@ fn main() {
1212 let total_num_characters: usize = input. iter_x ( ) . map ( |x| x. len ( ) ) . sum ( ) ;
1313 assert_eq ! ( total_num_characters, expected_num_characters) ;
1414
15- // computation using parallel iterator: replace `iter_x()` with `par_x()`
16-
17- let total_num_characters: usize = input. par_x ( ) . map ( |x| x. len ( ) ) . sum ( ) ;
18- assert_eq ! ( total_num_characters, expected_num_characters) ;
19-
20- // configure parallel computation
21- let total_num_characters: usize = input
22- . par_x ( )
23- . num_threads ( 2 )
24- . chunk_size ( 64 )
25- . map ( |x| x. len ( ) )
26- . sum ( ) ;
27- assert_eq ! ( total_num_characters, expected_num_characters) ;
28-
29- // consuming parallel iterator: replace `into_iter_x` with `into_par_x`
30- let total_num_characters: usize = input. into_par_x ( ) . map ( |x| x. len ( ) ) . sum ( ) ;
31- assert_eq ! ( total_num_characters, expected_num_characters) ;
15+ #[ cfg( feature = "orx-parallel" ) ]
16+ {
17+ // computation using parallel iterator: replace `iter_x()` with `par_x()`
18+
19+ let total_num_characters: usize = input. par_x ( ) . map ( |x| x. len ( ) ) . sum ( ) ;
20+ assert_eq ! ( total_num_characters, expected_num_characters) ;
21+
22+ // configure parallel computation
23+ let total_num_characters: usize = input
24+ . par_x ( )
25+ . num_threads ( 2 )
26+ . chunk_size ( 64 )
27+ . map ( |x| x. len ( ) )
28+ . sum ( ) ;
29+ assert_eq ! ( total_num_characters, expected_num_characters) ;
30+
31+ // consuming parallel iterator: replace `into_iter_x` with `into_par_x`
32+ let total_num_characters: usize = input. into_par_x ( ) . map ( |x| x. len ( ) ) . sum ( ) ;
33+ assert_eq ! ( total_num_characters, expected_num_characters) ;
34+ }
3235}
0 commit comments