File tree Expand file tree Collapse file tree 1 file changed +72
-0
lines changed Expand file tree Collapse file tree 1 file changed +72
-0
lines changed Original file line number Diff line number Diff line change @@ -87,6 +87,78 @@ fn iter_filter_sum_2d_stride_f32(bench: &mut Bencher)
8787 bench. iter ( || b. iter ( ) . filter ( |& & x| x < 75. ) . sum :: < f32 > ( ) ) ;
8888}
8989
90+ #[ bench]
91+ fn iter_sum_2d_row_matrix ( bench : & mut Bencher )
92+ {
93+ let a = Array :: from_iter ( 0i32 ..64 * 64 ) ;
94+ let v = a. view ( ) . insert_axis ( Axis ( 1 ) ) ;
95+ bench. iter ( || {
96+ let mut s = 0 ;
97+ for & elt in v. iter ( ) {
98+ s += elt;
99+ }
100+ s
101+ } ) ;
102+ }
103+
104+ #[ bench]
105+ fn iter_sum_2d_row_matrix_for_strided ( bench : & mut Bencher )
106+ {
107+ let a = Array :: from_iter ( 0i32 ..64 * 64 ) . slice_move ( s ! [ ..; 2 ] ) ;
108+ let v = a. view ( ) . insert_axis ( Axis ( 1 ) ) ;
109+ bench. iter ( || {
110+ let mut s = 0 ;
111+ for & elt in v. iter ( ) {
112+ s += elt;
113+ }
114+ s
115+ } ) ;
116+ }
117+
118+ #[ bench]
119+ fn iter_sum_2d_row_matrix_sum_strided ( bench : & mut Bencher )
120+ {
121+ let a = Array :: from_iter ( 0i32 ..64 * 64 ) . slice_move ( s ! [ ..; 2 ] ) ;
122+ let v = a. view ( ) . insert_axis ( Axis ( 1 ) ) ;
123+ bench. iter ( || v. iter ( ) . sum :: < i32 > ( ) ) ;
124+ }
125+
126+ #[ bench]
127+ fn iter_sum_2d_col_matrix ( bench : & mut Bencher )
128+ {
129+ let a = Array :: from_iter ( 0i32 ..64 * 64 ) ;
130+ let v = a. view ( ) . insert_axis ( Axis ( 0 ) ) ;
131+ bench. iter ( || {
132+ let mut s = 0 ;
133+ for & elt in v. iter ( ) {
134+ s += elt;
135+ }
136+ s
137+ } ) ;
138+ }
139+
140+ #[ bench]
141+ fn iter_sum_2d_col_matrix_for_strided ( bench : & mut Bencher )
142+ {
143+ let a = Array :: from_iter ( 0i32 ..64 * 64 ) . slice_move ( s ! [ ..; 2 ] ) ;
144+ let v = a. view ( ) . insert_axis ( Axis ( 0 ) ) ;
145+ bench. iter ( || {
146+ let mut s = 0 ;
147+ for & elt in v. iter ( ) {
148+ s += elt;
149+ }
150+ s
151+ } ) ;
152+ }
153+
154+ #[ bench]
155+ fn iter_sum_2d_col_matrix_sum_strided ( bench : & mut Bencher )
156+ {
157+ let a = Array :: from_iter ( 0i32 ..64 * 64 ) . slice_move ( s ! [ ..; 2 ] ) ;
158+ let v = a. view ( ) . insert_axis ( Axis ( 0 ) ) ;
159+ bench. iter ( || v. iter ( ) . sum :: < i32 > ( ) ) ;
160+ }
161+
90162#[ bench]
91163fn iter_rev_step_by_contiguous ( bench : & mut Bencher )
92164{
You can’t perform that action at this time.
0 commit comments