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