◐ Shell
clean mode source ↗

gh-145230: Update lockbench by colesbury · Pull Request #145231 · python/cpython

Remove PyThread_type_lock (now uses PyMutex internally).

Add new benchmark options:
- work_inside/work_outside: control work inside and outside the
  critical section to vary contention levels
- num_locks: use multiple independent locks with threads assigned
  round-robin
- total_iters: fixed iteration count per thread instead of time-based,
  useful for measuring fairness
- num_acquisitions: lock acquisitions per loop iteration

Also return elapsed time from benchmark_locks() and switch lockbench.py
to use argparse.

brijkapadia pushed a commit to brijkapadia/cpython that referenced this pull request

Feb 28, 2026
Remove PyThread_type_lock (now uses PyMutex internally).

Add new benchmark options:
- work_inside/work_outside: control work inside and outside the critical section to vary contention levels
- num_locks: use multiple independent locks with threads assigned round-robin
- total_iters: fixed iteration count per thread instead of time-based, useful for measuring fairness
- num_acquisitions: lock acquisitions per loop iteration
- random_locks: acquire random lock each iteration

Also return elapsed time from benchmark_locks() and switch lockbench.py to use argparse.

ljfp pushed a commit to ljfp/cpython that referenced this pull request

Apr 25, 2026
Remove PyThread_type_lock (now uses PyMutex internally).

Add new benchmark options:
- work_inside/work_outside: control work inside and outside the critical section to vary contention levels
- num_locks: use multiple independent locks with threads assigned round-robin
- total_iters: fixed iteration count per thread instead of time-based, useful for measuring fairness
- num_acquisitions: lock acquisitions per loop iteration
- random_locks: acquire random lock each iteration

Also return elapsed time from benchmark_locks() and switch lockbench.py to use argparse.