Skip to content

Commit 6519048

Browse files
authored
Merge Fix linalg bench warnings (#1544)
* chore: `cargo check` all targets in CI * chore: Remove benches commented out as "too long" * chore: fix warning: unused return value of `LU::<T, D, D>::solve` This fixes following warning: warning: unused return value of `LU::<T, D, D>::solve` that must be used --> benches/linalg/lu.rs:33:13 | 33 | lu.solve(&mut b); | ^^^^^^^^^^^^^^^^ | = note: Did you mean to use solve_mut()? = note: `#[warn(unused_must_use)]` on by default help: use `let _ = ...` to ignore the resulting value | 33 | let _ = lu.solve(&mut b); | +++++++
1 parent 8cd8b4b commit 6519048

File tree

6 files changed

+14
-168
lines changed

6 files changed

+14
-168
lines changed

.github/workflows/nalgebra-ci-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ jobs:
6464
override: true
6565
- uses: actions/checkout@v4
6666
- name: check
67-
run: cargo check --features arbitrary,rand,serde-serialize,sparse,debug,io,compare,libm,proptest-support,slow-tests,rkyv-safe-deser,rayon;
67+
run: cargo check --all-targets --features arbitrary,rand,serde-serialize,sparse,debug,io,compare,libm,proptest-support,slow-tests,rkyv-safe-deser,rayon;
6868
test-nalgebra:
6969
runs-on: ubuntu-latest
7070
# env:

benches/linalg/bidiagonal.rs

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,6 @@ fn bidiagonalize_500x100(bh: &mut criterion::Criterion) {
3232
});
3333
}
3434

35-
fn bidiagonalize_500x500(bh: &mut criterion::Criterion) {
36-
let m = DMatrix::<f64>::new_random(500, 500);
37-
bh.bench_function("bidiagonalize_500x500", move |bh| {
38-
bh.iter(|| std::hint::black_box(Bidiagonal::new(m.clone())))
39-
});
40-
}
41-
4235
// With unpack.
4336
fn bidiagonalize_unpack_100x100(bh: &mut criterion::Criterion) {
4437
let m = DMatrix::<f64>::new_random(100, 100);
@@ -70,25 +63,13 @@ fn bidiagonalize_unpack_500x100(bh: &mut criterion::Criterion) {
7063
});
7164
}
7265

73-
fn bidiagonalize_unpack_500x500(bh: &mut criterion::Criterion) {
74-
let m = DMatrix::<f64>::new_random(500, 500);
75-
bh.bench_function("bidiagonalize_unpack_500x500", move |bh| {
76-
bh.iter(|| {
77-
let bidiag = Bidiagonal::new(m.clone());
78-
let _ = bidiag.unpack();
79-
})
80-
});
81-
}
82-
8366
criterion_group!(
8467
bidiagonal,
8568
bidiagonalize_100x100,
8669
bidiagonalize_100x500,
8770
bidiagonalize_4x4,
8871
bidiagonalize_500x100,
89-
// bidiagonalize_500x500, // too long
9072
bidiagonalize_unpack_100x100,
9173
bidiagonalize_unpack_100x500,
9274
bidiagonalize_unpack_500x100,
93-
// bidiagonalize_unpack_500x500 // too long
9475
);

benches/linalg/full_piv_lu.rs

Lines changed: 4 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,15 @@ fn full_piv_lu_decompose_100x100(bh: &mut criterion::Criterion) {
1515
});
1616
}
1717

18-
fn full_piv_lu_decompose_500x500(bh: &mut criterion::Criterion) {
19-
let m = DMatrix::<f64>::new_random(500, 500);
20-
bh.bench_function("full_piv_lu_decompose_500x500", move |bh| {
21-
bh.iter(|| std::hint::black_box(FullPivLU::new(m.clone())))
22-
});
23-
}
24-
2518
fn full_piv_lu_solve_10x10(bh: &mut criterion::Criterion) {
2619
let m = DMatrix::<f64>::new_random(10, 10);
2720
let lu = FullPivLU::new(m.clone());
2821

2922
bh.bench_function("full_piv_lu_solve_10x10", move |bh| {
3023
bh.iter(|| {
3124
let mut b = DVector::<f64>::from_element(10, 1.0);
32-
lu.solve(&mut b);
25+
lu.solve_mut(&mut b);
26+
b
3327
})
3428
});
3529
}
@@ -41,19 +35,8 @@ fn full_piv_lu_solve_100x100(bh: &mut criterion::Criterion) {
4135
bh.bench_function("full_piv_lu_solve_100x100", move |bh| {
4236
bh.iter(|| {
4337
let mut b = DVector::<f64>::from_element(100, 1.0);
44-
lu.solve(&mut b);
45-
})
46-
});
47-
}
48-
49-
fn full_piv_lu_solve_500x500(bh: &mut criterion::Criterion) {
50-
let m = DMatrix::<f64>::new_random(500, 500);
51-
let lu = FullPivLU::new(m.clone());
52-
53-
bh.bench_function("full_piv_lu_solve_500x500", move |bh| {
54-
bh.iter(|| {
55-
let mut b = DVector::<f64>::from_element(500, 1.0);
56-
lu.solve(&mut b);
38+
lu.solve_mut(&mut b);
39+
b
5740
})
5841
});
5942
}
@@ -76,15 +59,6 @@ fn full_piv_lu_inverse_100x100(bh: &mut criterion::Criterion) {
7659
});
7760
}
7861

79-
fn full_piv_lu_inverse_500x500(bh: &mut criterion::Criterion) {
80-
let m = DMatrix::<f64>::new_random(500, 500);
81-
let lu = FullPivLU::new(m.clone());
82-
83-
bh.bench_function("full_piv_lu_inverse_500x500", move |bh| {
84-
bh.iter(|| std::hint::black_box(lu.try_inverse()))
85-
});
86-
}
87-
8862
fn full_piv_lu_determinant_10x10(bh: &mut criterion::Criterion) {
8963
let m = DMatrix::<f64>::new_random(10, 10);
9064
let lu = FullPivLU::new(m.clone());
@@ -103,27 +77,14 @@ fn full_piv_lu_determinant_100x100(bh: &mut criterion::Criterion) {
10377
});
10478
}
10579

106-
fn full_piv_lu_determinant_500x500(bh: &mut criterion::Criterion) {
107-
let m = DMatrix::<f64>::new_random(500, 500);
108-
let lu = FullPivLU::new(m.clone());
109-
110-
bh.bench_function("full_piv_lu_determinant_500x500", move |bh| {
111-
bh.iter(|| std::hint::black_box(lu.determinant()))
112-
});
113-
}
114-
11580
criterion_group!(
11681
full_piv_lu,
11782
full_piv_lu_decompose_10x10,
11883
full_piv_lu_decompose_100x100,
119-
// full_piv_lu_decompose_500x500,
12084
full_piv_lu_solve_10x10,
12185
full_piv_lu_solve_100x100,
122-
// full_piv_lu_solve_500x500,
12386
full_piv_lu_inverse_10x10,
12487
full_piv_lu_inverse_100x100,
125-
// full_piv_lu_inverse_500x500,
12688
full_piv_lu_determinant_10x10,
12789
full_piv_lu_determinant_100x100,
128-
// full_piv_lu_determinant_500x500
12990
);

benches/linalg/hessenberg.rs

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,6 @@ fn hessenberg_decompose_200x200(bh: &mut criterion::Criterion) {
2525
});
2626
}
2727

28-
fn hessenberg_decompose_500x500(bh: &mut criterion::Criterion) {
29-
let m = DMatrix::<f64>::new_random(500, 500);
30-
bh.bench_function("hessenberg_decompose_500x500", move |bh| {
31-
bh.iter(|| std::hint::black_box(Hessenberg::new(m.clone())))
32-
});
33-
}
34-
3528
// With unpack.
3629
fn hessenberg_decompose_unpack_100x100(bh: &mut criterion::Criterion) {
3730
let m = DMatrix::<f64>::new_random(100, 100);
@@ -53,23 +46,11 @@ fn hessenberg_decompose_unpack_200x200(bh: &mut criterion::Criterion) {
5346
});
5447
}
5548

56-
fn hessenberg_decompose_unpack_500x500(bh: &mut criterion::Criterion) {
57-
let m = DMatrix::<f64>::new_random(500, 500);
58-
bh.bench_function("hessenberg_decompose_unpack_500x500", move |bh| {
59-
bh.iter(|| {
60-
let hess = Hessenberg::new(m.clone());
61-
let _ = hess.unpack();
62-
})
63-
});
64-
}
65-
6649
criterion_group!(
6750
hessenberg,
6851
hessenberg_decompose_4x4,
6952
hessenberg_decompose_100x100,
7053
hessenberg_decompose_200x200,
71-
// hessenberg_decompose_500x500,
7254
hessenberg_decompose_unpack_100x100,
7355
hessenberg_decompose_unpack_200x200,
74-
// hessenberg_decompose_unpack_500x500
7556
);

benches/linalg/lu.rs

Lines changed: 5 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,15 @@ fn lu_decompose_100x100(bh: &mut criterion::Criterion) {
1515
});
1616
}
1717

18-
fn lu_decompose_500x500(bh: &mut criterion::Criterion) {
19-
let m = DMatrix::<f64>::new_random(500, 500);
20-
bh.bench_function("lu_decompose_500x500", move |bh| {
21-
bh.iter(|| std::hint::black_box(LU::new(m.clone())))
22-
});
23-
}
24-
2518
fn lu_solve_10x10(bh: &mut criterion::Criterion) {
2619
let m = DMatrix::<f64>::new_random(10, 10);
2720
let lu = LU::new(m.clone());
2821

2922
bh.bench_function("lu_solve_10x10", move |bh| {
3023
bh.iter(|| {
3124
let mut b = DVector::<f64>::from_element(10, 1.0);
32-
lu.solve(&mut b);
25+
lu.solve_mut(&mut b);
26+
b
3327
})
3428
});
3529
}
@@ -41,19 +35,8 @@ fn lu_solve_100x100(bh: &mut criterion::Criterion) {
4135
bh.bench_function("lu_solve_100x100", move |bh| {
4236
bh.iter(|| {
4337
let mut b = DVector::<f64>::from_element(100, 1.0);
44-
lu.solve(&mut b);
45-
})
46-
});
47-
}
48-
49-
fn lu_solve_500x500(bh: &mut criterion::Criterion) {
50-
let m = DMatrix::<f64>::new_random(500, 500);
51-
let lu = LU::new(m.clone());
52-
53-
bh.bench_function("", move |bh| {
54-
bh.iter(|| {
55-
let mut b = DVector::<f64>::from_element(500, 1.0);
56-
lu.solve(&mut b);
38+
lu.solve_mut(&mut b);
39+
b
5740
})
5841
});
5942
}
@@ -76,15 +59,6 @@ fn lu_inverse_100x100(bh: &mut criterion::Criterion) {
7659
});
7760
}
7861

79-
fn lu_inverse_500x500(bh: &mut criterion::Criterion) {
80-
let m = DMatrix::<f64>::new_random(500, 500);
81-
let lu = LU::new(m.clone());
82-
83-
bh.bench_function("lu_inverse_500x500", move |bh| {
84-
bh.iter(|| std::hint::black_box(lu.try_inverse()))
85-
});
86-
}
87-
8862
fn lu_determinant_10x10(bh: &mut criterion::Criterion) {
8963
let m = DMatrix::<f64>::new_random(10, 10);
9064
let lu = LU::new(m.clone());
@@ -103,25 +77,14 @@ fn lu_determinant_100x100(bh: &mut criterion::Criterion) {
10377
});
10478
}
10579

106-
fn lu_determinant_500x500(bh: &mut criterion::Criterion) {
107-
let m = DMatrix::<f64>::new_random(500, 500);
108-
let lu = LU::new(m.clone());
109-
110-
bh.bench_function("", move |bh| {
111-
bh.iter(|| std::hint::black_box(lu.determinant()))
112-
});
113-
}
114-
11580
criterion_group!(
11681
lu,
11782
lu_decompose_10x10,
11883
lu_decompose_100x100,
119-
// lu_decompose_500x500,
12084
lu_solve_10x10,
12185
lu_solve_100x100,
12286
lu_inverse_10x10,
12387
lu_inverse_100x100,
124-
// lu_inverse_500x500,
12588
lu_determinant_10x10,
126-
lu_determinant_100x100
89+
lu_determinant_100x100,
12790
);

benches/linalg/qr.rs

Lines changed: 4 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,6 @@ fn qr_decompose_500x100(bh: &mut criterion::Criterion) {
3232
});
3333
}
3434

35-
fn qr_decompose_500x500(bh: &mut criterion::Criterion) {
36-
let m = DMatrix::<f64>::new_random(500, 500);
37-
bh.bench_function("qr_decompose_500x500", move |bh| {
38-
bh.iter(|| std::hint::black_box(QR::new(m.clone())))
39-
});
40-
}
41-
4235
// With unpack.
4336
fn qr_decompose_unpack_100x100(bh: &mut criterion::Criterion) {
4437
let m = DMatrix::<f64>::new_random(100, 100);
@@ -70,24 +63,15 @@ fn qr_decompose_unpack_500x100(bh: &mut criterion::Criterion) {
7063
});
7164
}
7265

73-
fn qr_decompose_unpack_500x500(bh: &mut criterion::Criterion) {
74-
let m = DMatrix::<f64>::new_random(500, 500);
75-
bh.bench_function("qr_decompose_unpack_500x500", move |bh| {
76-
bh.iter(|| {
77-
let qr = QR::new(m.clone());
78-
let _ = qr.unpack();
79-
})
80-
});
81-
}
82-
8366
fn qr_solve_10x10(bh: &mut criterion::Criterion) {
8467
let m = DMatrix::<f64>::new_random(10, 10);
8568
let qr = QR::new(m.clone());
8669

8770
bh.bench_function("qr_solve_10x10", move |bh| {
8871
bh.iter(|| {
8972
let mut b = DVector::<f64>::from_element(10, 1.0);
90-
qr.solve(&mut b);
73+
qr.solve_mut(&mut b);
74+
b
9175
})
9276
});
9377
}
@@ -99,19 +83,8 @@ fn qr_solve_100x100(bh: &mut criterion::Criterion) {
9983
bh.bench_function("qr_solve_100x100", move |bh| {
10084
bh.iter(|| {
10185
let mut b = DVector::<f64>::from_element(100, 1.0);
102-
qr.solve(&mut b);
103-
})
104-
});
105-
}
106-
107-
fn qr_solve_500x500(bh: &mut criterion::Criterion) {
108-
let m = DMatrix::<f64>::new_random(500, 500);
109-
let qr = QR::new(m.clone());
110-
111-
bh.bench_function("qr_solve_500x500", move |bh| {
112-
bh.iter(|| {
113-
let mut b = DVector::<f64>::from_element(500, 1.0);
114-
qr.solve(&mut b);
86+
qr.solve_mut(&mut b);
87+
b
11588
})
11689
});
11790
}
@@ -134,30 +107,17 @@ fn qr_inverse_100x100(bh: &mut criterion::Criterion) {
134107
});
135108
}
136109

137-
fn qr_inverse_500x500(bh: &mut criterion::Criterion) {
138-
let m = DMatrix::<f64>::new_random(500, 500);
139-
let qr = QR::new(m.clone());
140-
141-
bh.bench_function("qr_inverse_500x500", move |bh| {
142-
bh.iter(|| std::hint::black_box(qr.try_inverse()))
143-
});
144-
}
145-
146110
criterion_group!(
147111
qr,
148112
qr_decompose_100x100,
149113
qr_decompose_100x500,
150114
qr_decompose_4x4,
151115
qr_decompose_500x100,
152-
// qr_decompose_500x500,
153116
qr_decompose_unpack_100x100,
154117
qr_decompose_unpack_100x500,
155118
qr_decompose_unpack_500x100,
156-
// qr_decompose_unpack_500x500,
157119
qr_solve_10x10,
158120
qr_solve_100x100,
159-
// qr_solve_500x500,
160121
qr_inverse_10x10,
161122
qr_inverse_100x100,
162-
// qr_inverse_500x500
163123
);

0 commit comments

Comments
 (0)