Avatar for the PyO3 user
PyO3
pyo3
BlogDocsChangelog

Try harder by looking for a __bool__ magic method when extracing bool values from Python objects.

#3638Merged
Comparing
call-op-bool
(
4177dfc
) with
main
(
87e42c9
)
CodSpeed Performance Gauge
0%
Untouched
61
Ignored
17

Benchmarks

78 total
ordered_richcmp
pyo3-benches/benches/bench_comparisons.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+4%
3.2 µs3.1 µs
extract_float_extract_fail
pyo3-benches/benches/bench_extract.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
12.2 µs12 µs
ordered_dunder_methods
pyo3-benches/benches/bench_comparisons.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
3.2 µs3.1 µs
test_simple_kwargs_py
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
+1%
22.5 µs22.3 µs
dirty_acquire_gil
pyo3-benches/benches/bench_gil.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
4.4 µs4.3 µs
test_empty_class_init
pytests/tests/test_pyclasses.py
CodSpeed Performance Gauge
0%
22.1 µs22 µs
drop_many_objects
pyo3-benches/benches/bench_pyobject.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
9.5 µs9.4 µs
extract_int_extract_fail
pyo3-benches/benches/bench_extract.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
11.4 µs11.4 µs
identify_object_type
pyo3-benches/benches/bench_any.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
15.5 µs15.5 µs
list_get_item_unchecked
pyo3-benches/benches/bench_list.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
4.5 ms4.5 ms
extract_btreeset
pyo3-benches/benches/bench_set.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
21.2 ms21.2 ms
iter_list
pyo3-benches/benches/bench_list.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
8.7 ms8.7 ms
set_new
pyo3-benches/benches/bench_set.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
18.8 ms18.8 ms
dict_get_item
pyo3-benches/benches/bench_dict.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
17.4 ms17.4 ms
dict_new
pyo3-benches/benches/bench_dict.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
25.5 ms25.5 ms
iter_set
pyo3-benches/benches/bench_set.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
16.7 ms16.7 ms
iter_dict
pyo3-benches/benches/bench_dict.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
14.8 ms14.8 ms
list_new
pyo3-benches/benches/bench_list.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
6.7 ms6.7 ms
extract_btreemap
pyo3-benches/benches/bench_dict.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
43.6 ms43.6 ms
collect_generic_iterator
pyo3-benches/benches/bench_any.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
90 ms90 ms
extract_str_extract_fail
pyo3-benches/benches/bench_extract.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
1.9 µs1.9 µs
clean_gilpool_new
pyo3-benches/benches/bench_gil.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
530 ns530 ns
clean_acquire_gil
pyo3-benches/benches/bench_gil.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
3.6 µs3.6 µs
test_none_py
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
0%
11.9 µs11.9 µs
f64_from_pyobject
pyo3-benches/benches/bench_frompyobject.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
212.5 ns212.5 ns

Commits

Click on a commit to change the comparison range
Base
main
87e42c9
-0.39%
Apply __bool__ conversion only to numpy.bool_ to avoid false positives.
4177dfc
2 years ago
by adamreichold
© 2026 CodSpeed Technology
Home Terms Privacy Docs