Avatar for the PyO3 user
PyO3
pyo3
BlogDocsChangelog

add `PyObject_HasAttrWithError` & use it in `PyAnyMethods::hasattr`

#5944
Comparing
bschoenmaeckers:hasattr
(
c484a75
) with
main
(
46d9ca3
)
CodSpeed Performance Gauge
0%
Untouched
105
Ignored
21
Skipped
1

Benchmarks

127 total
bench_pyclass_create
pyo3-benches/benches/bench_pyclass.rs::benches::bench_pyclass
CodSpeed Performance Gauge
+4%
4 µs3.9 µs
call_method
pyo3-benches/benches/bench_call.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+3%
1.3 ms1.2 ms
clean_attach
pyo3-benches/benches/bench_attach.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+3%
2 µs2 µs
call_method_1
pyo3-benches/benches/bench_call.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+2%
709.4 µs696.5 µs
extract_bigint_small
pyo3-benches/benches/bench_bigint.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
2.6 µs2.6 µs
extract_int_extract_fail
pyo3-benches/benches/bench_extract.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
8.2 µs8.1 µs
extract_float_extract_fail
pyo3-benches/benches/bench_extract.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
8.6 µs8.5 µs
bench_call
pyo3-benches/benches/bench_pyclass.rs::benches::bench_pyclass
CodSpeed Performance Gauge
+1%
5.7 µs5.7 µs
format_complex
pyo3-benches/benches/bench_pystring_from_fmt.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
7.3 µs7.2 µs
test_empty_class_init
pytests/tests/test_pyclasses.py
CodSpeed Performance Gauge
0%
21.7 µs21.6 µs
decimal_via_extract
pyo3-benches/benches/bench_decimal.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
11.9 µs11.9 µs
identify_object_type
pyo3-benches/benches/bench_any.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
15 µs14.9 µs
list_new
pyo3-benches/benches/bench_list.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
3.9 ms3.9 ms
call_1
pyo3-benches/benches/bench_call.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
270 µs270 µs
test_simple_args_kwargs_rs
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
0%
16.2 µs16.2 µs
call
pyo3-benches/benches/bench_call.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
607.2 µs607.1 µs
call_method_one_arg
pyo3-benches/benches/bench_call.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
612.7 µs612.7 µs
set_new
pyo3-benches/benches/bench_set.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
18.3 ms18.3 ms
dict_new
pyo3-benches/benches/bench_dict.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
20.4 ms20.4 ms
tuple_to_list
pyo3-benches/benches/bench_tuple.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
2 ms2 ms
tuple_new_list
pyo3-benches/benches/bench_tuple.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
2.2 ms2.2 ms
dict_get_item
pyo3-benches/benches/bench_dict.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
15.9 ms15.9 ms
collect_generic_iterator
pyo3-benches/benches/bench_any.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
120.2 ms120.2 ms
iter_dict
pyo3-benches/benches/bench_dict.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
19.4 ms19.4 ms
call_0
pyo3-benches/benches/bench_call.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
166.2 µs166.2 µs

Commits

Click on a commit to change the comparison range
Base
main
46d9ca3
-0.19%
add `PyObject_HasAttrWithError` & use it in `PyAnyMethods::hasattr`
463442f
4 days ago
by bschoenmaeckers
-0.23%
Remove comment
c484a75
4 days ago
by bschoenmaeckers
© 2026 CodSpeed Technology
Home Terms Privacy Docs