aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Tools/ftscalingbench/ftscalingbench.py
Commit message (Collapse)AuthorAge
* gh-134043: use stackrefs in vectorcalling methods (#134044)Kumar Aditya11 days
| | | Adds `_PyObject_GetMethodStackRef` which uses stackrefs and takes advantage of deferred reference counting in free-threading while calling method objects in vectorcall.
* gh-131586: Avoid refcount contention in context managers (gh-131851)Sam Gross2025-04-21
| | | | | This avoid reference count contention in the free threading build when calling special methods like `__enter__` and `__exit__`.
* gh-125985: Fix `cmodule_function()` scaling benchmark (#128460)Sam Gross2025-01-03
| | | | | | | | | | | Add a separate benchmark that measures the effect of `_PyObject_LookupSpecial()` on scaling. In the process of cleaning up the scaling benchmarks for inclusion, I unintentionally changed the "cmodule_function" benchmark to pass an `int` to `math.floor()` instead of a `float`, which causes it to use the `_PyObject_LookupSpecial()` code path. `_PyObject_LookupSpecial()` has its own scaling issues that we want to measure separately from calling a function on a C module.
* gh-125985: Add free threading scaling micro benchmarks (#125986)Sam Gross2024-10-28
These consist of a number of short snippets that help identify scaling bottlenecks in the free threaded interpreter. The current bottlenecks are in calling functions in benchmarks that call functions (due to `LOAD_ATTR` not yet using deferred reference counting) and when accessing thread-local data.