Avatar for the PyO3 user
PyO3
pyo3
BlogDocsChangelog

Turn calls of __traverse__ into no-ops for unsendable pyclass if on the wrong thread

#3689Merged
Comparing
unsendable-threadsafe-traverse
(
4dc6c16
) with
main
(
65f25d4
)
CodSpeed Performance Gauge
0%
Untouched
61
Ignored
17

Benchmarks

78 total
test_empty_class_init
pytests/tests/test_pyclasses.py
CodSpeed Performance Gauge
+1%
22.4 µs22.1 µs
getattr_intern
pyo3-benches/benches/bench_intern.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
3.1 µs3.1 µs
dirty_acquire_gil
pyo3-benches/benches/bench_gil.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
4.4 µs4.4 µs
test_simple_kwargs_py
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
+1%
22.5 µs22.4 µs
decimal_via_extract
pyo3-benches/benches/bench_decimal.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
14.9 µs14.8 µs
test_empty_class_init_py
pytests/tests/test_pyclasses.py
CodSpeed Performance Gauge
+1%
16.1 µs16.1 µs
test_none_rs
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
0%
12 µs12 µs
test_simple_py
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
0%
18.2 µs18.2 µs
first_time_init
pyo3-benches/benches/bench_pyclass.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
39.2 µs39.1 µs
extract_bigint_huge_positive
pyo3-benches/benches/bench_bigint.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
12.2 µs12.2 µs
extract_btreemap
pyo3-benches/benches/bench_dict.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
44.3 ms44.2 ms
list_get_item_unchecked
pyo3-benches/benches/bench_list.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
4.5 ms4.5 ms
extract_btreeset
pyo3-benches/benches/bench_set.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
21.2 ms21.2 ms
list_get_item
pyo3-benches/benches/bench_list.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
5 ms5 ms
iter_list
pyo3-benches/benches/bench_list.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
9 ms9 ms
tuple_new
pyo3-benches/benches/bench_tuple.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
6.7 ms6.7 ms
dict_new
pyo3-benches/benches/bench_dict.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
24.8 ms24.8 ms
iter_set
pyo3-benches/benches/bench_set.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
16.7 ms16.7 ms
set_new
pyo3-benches/benches/bench_set.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
18.8 ms18.8 ms
dict_get_item
pyo3-benches/benches/bench_dict.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
17.3 ms17.3 ms
extract_hashmap
pyo3-benches/benches/bench_dict.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
25.1 ms25.1 ms
test_none_py
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
0%
12 µs12 µs
err_new_without_gil
pyo3-benches/benches/bench_err.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
1.3 µs1.3 µs
drop_many_objects
pyo3-benches/benches/bench_pyobject.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
9.4 µs9.4 µs
err_new_restore_and_fetch
pyo3-benches/benches/bench_err.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
7.5 µs7.5 µs

Commits

Click on a commit to change the comparison range
Base
main
65f25d4
-0.05%
Turn calls of __traverse__ into no-ops for unsendable pyclass if on the wrong thread
4dc6c16
2 years ago
by adamreichold
© 2026 CodSpeed Technology
Home Terms Privacy Docs