Avatar for the PyO3 user
PyO3
pyo3
BlogDocsChangelog

fix: use subclass check for AttributeError in getattr_opt on Python < 3.13

#5985
Comparing
Harikeshav-R:fix-getattr-opt-subclass-check
(
fb45762
) with
main
(
999560a
)
CodSpeed Performance Gauge
0%
Untouched
105
Ignored
21
Skipped
1

Benchmarks

127 total
critical_section_creation2
pyo3-benches/benches/bench_critical_sections.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+4%
835.8 ns806.7 ns
ordered_dunder_methods
pyo3-benches/benches/bench_comparisons.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+3%
2.7 µs2.6 µs
byte_slice_into_pyobject_medium
pyo3-benches/benches/bench_intopyobject.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+2%
1.5 µs1.5 µs
bytes_new_medium
pyo3-benches/benches/bench_intopyobject.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+2%
1.5 µs1.5 µs
tuple_into_pyobject
pyo3-benches/benches/bench_tuple.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
2.6 µs2.5 µs
ordered_richcmp
pyo3-benches/benches/bench_comparisons.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
2.7 µs2.7 µs
list_nth
pyo3-benches/benches/bench_list.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
8.5 µs8.4 µs
list_nth_back
pyo3-benches/benches/bench_list.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
8.6 µs8.5 µs
bench_str
pyo3-benches/benches/bench_pyclass.rs::benches::bench_pyclass
CodSpeed Performance Gauge
+1%
3.7 µs3.7 µs
extract_float_extract_fail
pyo3-benches/benches/bench_extract.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
8.4 µs8.4 µs
decimal_via_extract
pyo3-benches/benches/bench_decimal.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
12 µs12 µs
test_many_keyword_arguments_py
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
0%
15.3 µs15.3 µs
test_simple_args_rs
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
0%
15.4 µs15.4 µs
not_a_list_via_extract_enum
pyo3-benches/benches/bench_frompyobject.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
17.5 µs17.4 µs
drop_many_objects_without_gil
pyo3-benches/benches/bench_py.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
49.5 µs49.5 µs
call_0
pyo3-benches/benches/bench_call.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
157.7 µs157.7 µs
call
pyo3-benches/benches/bench_call.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
526.6 µs526.6 µs
list_get_item_unchecked
pyo3-benches/benches/bench_list.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
3.9 ms3.9 ms
list_new
pyo3-benches/benches/bench_list.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
4.2 ms4.2 ms
tuple_to_list
pyo3-benches/benches/bench_tuple.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
2 ms2 ms
tuple_new
pyo3-benches/benches/bench_tuple.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
4.2 ms4.2 ms
list_get_item
pyo3-benches/benches/bench_list.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
4.7 ms4.7 ms
dict_new
pyo3-benches/benches/bench_dict.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
20.3 ms20.3 ms
iter_list
pyo3-benches/benches/bench_list.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
11 ms11 ms
collect_generic_iterator
pyo3-benches/benches/bench_any.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
113.5 ms113.5 ms

Commits

Click on a commit to change the comparison range
Base
main
999560a
-0.21%
fix: use infallible is_instance_of instead of fallible is_subclass_of
e6b0a8c
2 days ago
by Harikeshav-R
-0.05%
fix: add PyObject_GetOptionalAttr compat shim and use it for all versions
fb45762
22 hours ago
by Harikeshav-R
© 2026 CodSpeed Technology
Home Terms Privacy Docs