Skip to content

Commit 0832b28

Browse files
committed
Drop unnecessary usage of deprecated GILPool from array benchmark.
1 parent d7e87b2 commit 0832b28

File tree

2 files changed

+35
-35
lines changed

2 files changed

+35
-35
lines changed

benches/array.rs

+34-34
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,17 @@ use test::{black_box, Bencher};
66
use std::ops::Range;
77

88
use numpy::{PyArray1, PyArray2, PyArray3};
9-
use pyo3::{types::PyAnyMethods, Python, ToPyObject};
9+
use pyo3::{types::PyAnyMethods, Bound, Python, ToPyObject};
1010

1111
#[bench]
1212
fn extract_success(bencher: &mut Bencher) {
1313
Python::with_gil(|py| {
1414
let any = PyArray2::<f64>::zeros_bound(py, (10, 10), false).into_any();
1515

1616
bencher.iter(|| {
17-
black_box(&any).extract::<&PyArray2<f64>>().unwrap();
17+
black_box(&any)
18+
.extract::<Bound<'_, PyArray2<f64>>>()
19+
.unwrap()
1820
});
1921
});
2022
}
@@ -25,7 +27,9 @@ fn extract_failure(bencher: &mut Bencher) {
2527
let any = PyArray2::<f64>::zeros_bound(py, (10, 10), false).into_any();
2628

2729
bencher.iter(|| {
28-
black_box(&any).extract::<&PyArray2<f64>>().unwrap_err();
30+
black_box(&any)
31+
.extract::<Bound<'_, PyArray2<f64>>>()
32+
.unwrap_err()
2933
});
3034
});
3135
}
@@ -35,9 +39,7 @@ fn downcast_success(bencher: &mut Bencher) {
3539
Python::with_gil(|py| {
3640
let any = PyArray2::<f64>::zeros_bound(py, (10, 10), false).into_any();
3741

38-
bencher.iter(|| {
39-
black_box(&any).downcast::<PyArray2<f64>>().unwrap();
40-
});
42+
bencher.iter(|| black_box(&any).downcast::<PyArray2<f64>>().unwrap());
4143
});
4244
}
4345

@@ -46,9 +48,7 @@ fn downcast_failure(bencher: &mut Bencher) {
4648
Python::with_gil(|py| {
4749
let any = PyArray2::<f64>::zeros_bound(py, (10, 10), false).into_any();
4850

49-
bencher.iter(|| {
50-
black_box(&any).downcast::<PyArray2<f64>>().unwrap_err();
51-
});
51+
bencher.iter(|| black_box(&any).downcast::<PyArray2<f64>>().unwrap_err());
5252
});
5353
}
5454

@@ -63,10 +63,12 @@ impl Iterator for Iter {
6363
}
6464

6565
fn from_iter(bencher: &mut Bencher, size: usize) {
66-
iter_with_gil(bencher, |py| {
67-
let iter = black_box(Iter(0..size));
66+
Python::with_gil(|py| {
67+
bencher.iter(|| {
68+
let iter = black_box(Iter(0..size));
6869

69-
PyArray1::from_iter_bound(py, iter);
70+
PyArray1::from_iter_bound(py, iter)
71+
});
7072
});
7173
}
7274

@@ -88,10 +90,12 @@ fn from_iter_large(bencher: &mut Bencher) {
8890
fn from_slice(bencher: &mut Bencher, size: usize) {
8991
let vec = (0..size).collect::<Vec<_>>();
9092

91-
iter_with_gil(bencher, |py| {
92-
let slice = black_box(&vec);
93+
Python::with_gil(|py| {
94+
bencher.iter(|| {
95+
let slice = black_box(&vec);
9396

94-
PyArray1::from_slice_bound(py, slice);
97+
PyArray1::from_slice_bound(py, slice)
98+
});
9599
});
96100
}
97101

@@ -113,10 +117,12 @@ fn from_slice_large(bencher: &mut Bencher) {
113117
fn from_object_slice(bencher: &mut Bencher, size: usize) {
114118
let vec = Python::with_gil(|py| (0..size).map(|val| val.to_object(py)).collect::<Vec<_>>());
115119

116-
iter_with_gil(bencher, |py| {
117-
let slice = black_box(&vec);
120+
Python::with_gil(|py| {
121+
bencher.iter(|| {
122+
let slice = black_box(&vec);
118123

119-
PyArray1::from_slice_bound(py, slice);
124+
PyArray1::from_slice_bound(py, slice)
125+
});
120126
});
121127
}
122128

@@ -138,10 +144,12 @@ fn from_object_slice_large(bencher: &mut Bencher) {
138144
fn from_vec2(bencher: &mut Bencher, size: usize) {
139145
let vec2 = vec![vec![0; size]; size];
140146

141-
iter_with_gil(bencher, |py| {
142-
let vec2 = black_box(&vec2);
147+
Python::with_gil(|py| {
148+
bencher.iter(|| {
149+
let vec2 = black_box(&vec2);
143150

144-
PyArray2::from_vec2_bound(py, vec2).unwrap();
151+
PyArray2::from_vec2_bound(py, vec2).unwrap()
152+
});
145153
});
146154
}
147155

@@ -163,10 +171,12 @@ fn from_vec2_large(bencher: &mut Bencher) {
163171
fn from_vec3(bencher: &mut Bencher, size: usize) {
164172
let vec3 = vec![vec![vec![0; size]; size]; size];
165173

166-
iter_with_gil(bencher, |py| {
167-
let vec3 = black_box(&vec3);
174+
Python::with_gil(|py| {
175+
bencher.iter(|| {
176+
let vec3 = black_box(&vec3);
168177

169-
PyArray3::from_vec3_bound(py, vec3).unwrap();
178+
PyArray3::from_vec3_bound(py, vec3).unwrap()
179+
});
170180
});
171181
}
172182

@@ -184,13 +194,3 @@ fn from_vec3_medium(bencher: &mut Bencher) {
184194
fn from_vec3_large(bencher: &mut Bencher) {
185195
from_vec3(bencher, 2_usize.pow(5));
186196
}
187-
188-
fn iter_with_gil(bencher: &mut Bencher, mut f: impl FnMut(Python<'_>)) {
189-
Python::with_gil(|py| {
190-
bencher.iter(|| {
191-
let pool = unsafe { py.new_pool() };
192-
193-
f(pool.python());
194-
});
195-
});
196-
}

src/sum_products.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ where
225225
obj.extract()
226226
}
227227

228-
/// Deprecated form of [`einsum_bound!`]
228+
/// Deprecated form of [`einsum_bound!`][crate::einsum_bound!]
229229
#[deprecated(
230230
since = "0.21.0",
231231
note = "will be replaced by `einsum_bound!` in the future"

0 commit comments

Comments
 (0)