@@ -56,5 +56,47 @@ fn svd_small(c: &mut Criterion) {
56
56
}
57
57
}
58
58
59
- criterion_group ! ( svd, svd_small) ;
59
+ fn svddc_small ( c : & mut Criterion ) {
60
+ let mut group = c. benchmark_group ( "svddc" ) ;
61
+ for & n in & [ 4 , 8 , 16 , 32 , 64 , 128 ] {
62
+ group. bench_with_input ( BenchmarkId :: new ( "C" , n) , & n, |b, n| {
63
+ let a: Array2 < f64 > = random ( ( * n, * n) ) ;
64
+ b. iter ( || {
65
+ let _ = a. svddc ( UVTFlag :: None ) . unwrap ( ) ;
66
+ } )
67
+ } ) ;
68
+ group. bench_with_input ( BenchmarkId :: new ( "F" , n) , & n, |b, n| {
69
+ let a: Array2 < f64 > = random ( ( * n, * n) . f ( ) ) ;
70
+ b. iter ( || {
71
+ let _ = a. svddc ( UVTFlag :: None ) . unwrap ( ) ;
72
+ } )
73
+ } ) ;
74
+ group. bench_with_input ( BenchmarkId :: new ( "some/C" , n) , & n, |b, n| {
75
+ let a: Array2 < f64 > = random ( ( * n, * n) ) ;
76
+ b. iter ( || {
77
+ let _ = a. svddc ( UVTFlag :: Some ) . unwrap ( ) ;
78
+ } )
79
+ } ) ;
80
+ group. bench_with_input ( BenchmarkId :: new ( "some/F" , n) , & n, |b, n| {
81
+ let a: Array2 < f64 > = random ( ( * n, * n) . f ( ) ) ;
82
+ b. iter ( || {
83
+ let _ = a. svddc ( UVTFlag :: Some ) . unwrap ( ) ;
84
+ } )
85
+ } ) ;
86
+ group. bench_with_input ( BenchmarkId :: new ( "full/C" , n) , & n, |b, n| {
87
+ let a: Array2 < f64 > = random ( ( * n, * n) ) ;
88
+ b. iter ( || {
89
+ let _ = a. svddc ( UVTFlag :: Full ) . unwrap ( ) ;
90
+ } )
91
+ } ) ;
92
+ group. bench_with_input ( BenchmarkId :: new ( "full/F" , n) , & n, |b, n| {
93
+ let a: Array2 < f64 > = random ( ( * n, * n) . f ( ) ) ;
94
+ b. iter ( || {
95
+ let _ = a. svddc ( UVTFlag :: Full ) . unwrap ( ) ;
96
+ } )
97
+ } ) ;
98
+ }
99
+ }
100
+
101
+ criterion_group ! ( svd, svd_small, svddc_small) ;
60
102
criterion_main ! ( svd) ;
0 commit comments