pyo3/pyo3-benches/benches
Adam Reichold c5f9001985
Remove deferred reference count increments and make the global reference pool optional (#4095)
* Add feature controlling the global reference pool to enable avoiding its overhead.

* Document reference-pool feature in the performance guide.

* Invert semantics of feature to disable reference pool so the new behaviour becomes opt-in

* Remove delayed reference count increments as we cannot prevent reference count errors as long as these are available

* Adjust tests to be compatible with disable-reference-pool feature

* Adjust tests to be compatible with py-clone feature

* Adjust the GIL benchmark to the updated reference pool semantics.

* Further extend and clarify the documentation of the py-clone and disable-reference-pool features

* Replace disable-reference-pool feature by pyo3_disable_reference_pool conditional compilation flag

Such a flag is harder to use and thereby also harder to abuse. This seems
appropriate as this is purely a performance-oriented change which show only be
enabled by leaf crates and brings with it additional highly implicit sources of
process aborts.

* 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
2024-05-11 14:48:45 +00:00
..
bench_any.rs deprecate `PyDict::new` constructor (#3823) 2024-02-11 23:55:56 +00:00
bench_bigint.rs ci: tidy up benchmarks a little (#3986) 2024-03-23 20:17:33 +00:00
bench_call.rs add `PyModule::new_bound` and `PyModule::import_bound` (#3775) 2024-02-22 09:35:47 +00:00
bench_comparisons.rs update `extract_argument` to use Bound APIs (#3708) 2024-02-28 19:36:20 +00:00
bench_decimal.rs ci: tidy up benchmarks a little (#3986) 2024-03-23 20:17:33 +00:00
bench_dict.rs ci: tidy up benchmarks a little (#3986) 2024-03-23 20:17:33 +00:00
bench_err.rs add codspeed benchmarks 2023-10-19 21:36:05 +01:00
bench_extract.rs ci: tidy up benchmarks a little (#3986) 2024-03-23 20:17:33 +00:00
bench_frompyobject.rs ci: tidy up benchmarks a little (#3986) 2024-03-23 20:17:33 +00:00
bench_gil.rs Remove deferred reference count increments and make the global reference pool optional (#4095) 2024-05-11 14:48:45 +00:00
bench_intern.rs add `PyModule::new_bound` and `PyModule::import_bound` (#3775) 2024-02-22 09:35:47 +00:00
bench_list.rs ci: tidy up benchmarks a little (#3986) 2024-03-23 20:17:33 +00:00
bench_pyclass.rs add codspeed benchmarks 2023-10-19 21:36:05 +01:00
bench_pyobject.rs Revert "Merge pull request #3578 from davidhewitt/typed-helpers" 2024-02-03 20:56:23 +00:00
bench_set.rs ci: tidy up benchmarks a little (#3986) 2024-03-23 20:17:33 +00:00
bench_tuple.rs ci: tidy up benchmarks a little (#3986) 2024-03-23 20:17:33 +00:00