Avatar for the PyO3 user
PyO3
pyo3
BlogDocsChangelog

use `PyThreadState_GetUnchecked` to test if attached to the interpreter

#5350
Comparing
davidhewitt:check-thread-state
(
438b4f8
) with
main
(
e93393c
)
CodSpeed Performance Gauge
-50%
Regression
3
Untouched
89
Ignored
19

Benchmarks

111 total
drop_many_objects
pyo3-benches/benches/bench_pyobject.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
-50%
11.4 µs22.6 µs
drop_many_objects_without_gil
pyo3-benches/benches/bench_pyobject.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
-18%
41.8 µs51.2 µs
extract_str_extract_fail
pyo3-benches/benches/bench_extract.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
-16%
1.8 µs2.1 µs
extract_bigint_small
pyo3-benches/benches/bench_bigint.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+2%
2.6 µs2.6 µs
extract_bigint_big_negative
pyo3-benches/benches/bench_bigint.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+2%
4 µs3.9 µs
vec_into_pyobject
pyo3-benches/benches/bench_intopyobject.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
2.6 µs2.6 µs
extract_bigint_big_positive
pyo3-benches/benches/bench_bigint.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
3.6 µs3.6 µs
identify_object_type
pyo3-benches/benches/bench_any.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
15.5 µs15.4 µs
extract_bigint_huge_negative
pyo3-benches/benches/bench_bigint.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
13.2 µs13.1 µs
extract_bigint_huge_positive
pyo3-benches/benches/bench_bigint.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
11.6 µs11.6 µs
test_none_py
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
0%
13.3 µs13.3 µs
extract_hashbrown_set
pyo3-benches/benches/bench_set.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
16.1 ms16.1 ms
test_simple_args_py
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
0%
17.8 µs17.7 µs
first_time_init
pyo3-benches/benches/bench_pyclass.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
39.8 µs39.8 µs
test_class_method
pytests/tests/test_pyclasses.py
CodSpeed Performance Gauge
0%
17.8 µs17.8 µs
extract_hashbrown_map
pyo3-benches/benches/bench_dict.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
18 ms18 ms
extract_btreeset
pyo3-benches/benches/bench_set.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
15.9 ms15.9 ms
extract_btreemap
pyo3-benches/benches/bench_dict.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
37.8 ms37.8 ms
call_0
pyo3-benches/benches/bench_call.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
191.6 µs191.6 µs
call_one_arg
pyo3-benches/benches/bench_call.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
232.2 µs232.2 µs
tuple_get_borrowed_item_unchecked
pyo3-benches/benches/bench_tuple.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
3.4 ms3.4 ms
tuple_get_item_unchecked
pyo3-benches/benches/bench_tuple.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
3.6 ms3.6 ms
call_method_one_arg
pyo3-benches/benches/bench_call.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
628.1 µs628.1 µs
call_method
pyo3-benches/benches/bench_call.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
1.3 ms1.3 ms
call_method_1
pyo3-benches/benches/bench_call.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
657.6 µs657.6 µs

Commits

Click on a commit to change the comparison range
Base
main
e93393c
-49.58%
use `PyThreadState_GetUnchecked` to test if attached to the interpreter
438b4f8
6 months ago
by davidhewitt
© 2026 CodSpeed Technology
Home Terms Privacy Docs