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
60
Ignored
17
Archived
1

Benchmarks

78 total
extract_bigint_small
pyo3-benches/benches/bench_bigint.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
-5%
2.9 µs3 µs
ordered_richcmp
pyo3-benches/benches/bench_comparisons.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+4%
3.2 µs3.1 µs
list_get_item
pyo3-benches/benches/bench_list.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
-4%
5 ms5.2 ms
test_simple_kwargs_rs
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
-3%
22.7 µs23.5 µs
extract_bigint_big_positive
pyo3-benches/benches/bench_bigint.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
-2%
3.7 µs3.8 µs
err_new_without_gil
pyo3-benches/benches/bench_err.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
-2%
1.3 µs1.4 µs
extract_float_extract_fail
pyo3-benches/benches/bench_extract.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
12.2 µs12 µs
extract_bigint_big_negative
pyo3-benches/benches/bench_bigint.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
-1%
4 µs4 µs
not_a_list_via_extract_enum
pyo3-benches/benches/bench_frompyobject.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
-1%
13.7 µs13.9 µs
tuple_into_py
pyo3-benches/benches/bench_tuple.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
-1%
3.1 µs3.1 µs
ordered_dunder_methods
pyo3-benches/benches/bench_comparisons.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
3.2 µs3.1 µs
test_simple_rs
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
-1%
18.7 µs18.8 µs
test_args_kwargs_rs
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
-1%
15.8 µs15.9 µs
test_simple_args_kwargs_rs
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
-1%
23.7 µs23.9 µs
test_simple_kwargs_py
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
+1%
22.5 µs22.3 µs
test_simple_args_py
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
-1%
18 µs18.1 µs
test_none_rs
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
-1%
11.9 µs12 µs
dirty_acquire_gil
pyo3-benches/benches/bench_gil.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
4.4 µs4.3 µs
extract_bigint_extract_fail
pyo3-benches/benches/bench_bigint.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
-1%
11.5 µs11.6 µs
extract_bigint_huge_positive
pyo3-benches/benches/bench_bigint.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
12.1 µs12.2 µs
enum_from_pyobject
pyo3-benches/benches/bench_frompyobject.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
19.3 µs19.4 µs
test_simple_args_kwargs_py
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
0%
21.4 µs21.4 µs
test_simple_args_rs
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
0%
21.6 µs21.7 µs
test_empty_class_init
pytests/tests/test_pyclasses.py
CodSpeed Performance Gauge
0%
22.1 µs22 µs
decimal_via_extract
pyo3-benches/benches/bench_decimal.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
14.9 µs14.9 µs

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
3 years ago
by adamreichold
© 2026 CodSpeed Technology
Home Terms Privacy Docs