Avatar for the PyO3 user
PyO3
pyo3
BlogDocsChangelog

Remove deferred reference count increments and make the global reference pool optional

#4095Merged
Comparing
opt-ref-pool
(
04f0f05
) with
main
(
444be3b
)
CodSpeed Performance Gauge
0%
Untouched
65
Ignored
17

Benchmarks

82 total
ordered_richcmp
pyo3-benches/benches/bench_comparisons.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+6%
3.2 µs3 µs
test_simple_kwargs_rs
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
+2%
21.4 µs21 µs
ordered_dunder_methods
pyo3-benches/benches/bench_comparisons.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+2%
3.1 µs3.1 µs
test_args_kwargs_py
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
+1%
21.1 µs20.8 µs
test_empty_class_init
pytests/tests/test_pyclasses.py
CodSpeed Performance Gauge
+1%
21.9 µs21.7 µs
getattr_intern
pyo3-benches/benches/bench_intern.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
3.2 µs3.1 µs
first_time_init
pyo3-benches/benches/bench_pyclass.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
39.8 µs39.4 µs
clean_acquire_gil
pyo3-benches/benches/bench_gil.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
3.8 µs3.8 µs
test_simple_rs
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
+1%
19.1 µs18.9 µs
test_simple_args_rs
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
+1%
20.7 µs20.6 µs
extract_float_extract_fail
pyo3-benches/benches/bench_extract.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
11.6 µs11.5 µs
test_simple_args_kwargs_py
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
0%
21.4 µs21.3 µs
drop_many_objects
pyo3-benches/benches/bench_pyobject.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
11.7 µs11.7 µs
extract_bigint_extract_fail
pyo3-benches/benches/bench_bigint.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
11.6 µs11.6 µs
test_simple_py
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
0%
17.6 µs17.6 µs
call_method_0
pyo3-benches/benches/bench_call.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
592.1 µs592 µs
call_0
pyo3-benches/benches/bench_call.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
203.1 µs203.1 µs
extract_hashmap
pyo3-benches/benches/bench_dict.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
19.5 ms19.5 ms
extract_btreemap
pyo3-benches/benches/bench_dict.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
36.4 ms36.4 ms
tuple_get_borrowed_item_unchecked
pyo3-benches/benches/bench_tuple.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
3.1 ms3.1 ms
tuple_get_borrowed_item
pyo3-benches/benches/bench_tuple.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
3.6 ms3.6 ms
collect_generic_iterator
pyo3-benches/benches/bench_any.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
106.1 ms106.1 ms
tuple_new
pyo3-benches/benches/bench_tuple.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
7 ms7 ms
dict_new
pyo3-benches/benches/bench_dict.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
25.6 ms25.6 ms
tuple_to_list
pyo3-benches/benches/bench_tuple.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
1.6 ms1.6 ms

Commits

Click on a commit to change the comparison range
Base
main
444be3b
-0.31%
Add pyo3_leak_on_drop_without_reference_pool to turn aborts into leaks when the global reference pool is disabled and the GIL is not held
04f0f05
2 years ago
by adamreichold
© 2026 CodSpeed Technology
Home Terms Privacy Docs