Avatar for the PyO3 user
PyO3
pyo3
BlogDocsChangelog

avoid incrementing reference count of function args where possible

#5941Merged
Comparing
davidhewitt:borrowed-func-args
(
44c62ab
) with
main
(
46d9ca3
)
CodSpeed Performance Gauge
×2.4
Improvement
5
Untouched
100
Ignored
21
Archived
1

Benchmarks

127 total
call_method_1
pyo3-benches/benches/bench_call.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
×2.4
709.4 µs300.3 µs
call_method_one_arg
pyo3-benches/benches/bench_call.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
×2.3
612.7 µs271.5 µs
call_method
pyo3-benches/benches/bench_call.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+60%
1,268.2 µs791.7 µs
call_1
pyo3-benches/benches/bench_call.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+36%
270 µs198.6 µs
call
pyo3-benches/benches/bench_call.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+14%
607.2 µs534.8 µs
call_one_arg
pyo3-benches/benches/bench_call.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+9%
200.5 µs183.8 µs
bench_pyclass_create
pyo3-benches/benches/bench_pyclass.rs::benches::bench_pyclass
CodSpeed Performance Gauge
+4%
4 µs3.9 µs
test_with_typed_args_rs
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
+1%
14.6 µs14.5 µs
extract_bigint_small
pyo3-benches/benches/bench_bigint.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
2.6 µs2.6 µs
ordered_dunder_methods
pyo3-benches/benches/bench_comparisons.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
2.8 µs2.7 µs
ordered_richcmp
pyo3-benches/benches/bench_comparisons.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
2.8 µs2.8 µs
tuple_nth
pyo3-benches/benches/bench_tuple.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
6.4 µs6.4 µs
tuple_nth_back
pyo3-benches/benches/bench_tuple.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
6.5 µs6.4 µs
extract_int_extract_fail
pyo3-benches/benches/bench_extract.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
8.2 µs8.2 µs
extract_float_extract_fail
pyo3-benches/benches/bench_extract.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
8.6 µs8.5 µs
first_time_init
pyo3-benches/benches/bench_pyclass.rs::benches::bench_first_time_init
CodSpeed Performance Gauge
0%
40.8 µs40.7 µs
test_simple_args_kwargs_rs
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
0%
16.2 µs16.1 µs
test_empty_class_init
pytests/tests/test_pyclasses.py
CodSpeed Performance Gauge
0%
21.7 µs21.7 µs
drop_many_objects_without_gil
pyo3-benches/benches/bench_py.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
55.8 µs55.8 µs
call_0
pyo3-benches/benches/bench_call.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
166.2 µs166.2 µ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
iter_tuple
pyo3-benches/benches/bench_tuple.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
5.1 ms5.1 ms
list_get_item
pyo3-benches/benches/bench_list.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
5 ms5 ms
collect_generic_iterator
pyo3-benches/benches/bench_any.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
120.2 ms120.2 ms

Commits

Click on a commit to change the comparison range
Base
main
46d9ca3
×2.4
avoid incrementing reference count of function args where possible
052a62d
2 months ago
by davidhewitt
0%
Merge remote-tracking branch 'origin/main' into borrowed-func-args
44c62ab
2 months ago
by davidhewitt
© 2026 CodSpeed Technology
Home Terms Privacy Docs