Skip to content

Commit 2b60edf

Browse files
committed
Add svddc
1 parent 01a02f0 commit 2b60edf

File tree

1 file changed

+43
-1
lines changed

1 file changed

+43
-1
lines changed

ndarray-linalg/benches/svd.rs

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,5 +56,47 @@ fn svd_small(c: &mut Criterion) {
5656
}
5757
}
5858

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);
60102
criterion_main!(svd);

0 commit comments

Comments
 (0)