ifduyue
python-xxhash
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
perf: add free-threaded Python (3.13t+) safety with per-object critical sections Use Py_BEGIN_CRITICAL_SECTION / Py_END_CRITICAL_SECTION to protect concurrent access to xxhash_state in all four hash types. - Python >= 3.13: uses PyObject's built-in ob_mutex via critical section - Python < 3.13: macros expand to nothing (GIL protects us) - GIL build (3.13+): macros expand to nothing (zero overhead) - Free-threaded build (3.13t+): real per-object locking - Locked operations: do_update, digest, hexdigest, intdigest, copy, reset, dealloc, init
duyue/free-threaded
1 day ago
perf: add free-threaded Python (3.13t+) safety with per-object critical sections Use Py_BEGIN_CRITICAL_SECTION / Py_END_CRITICAL_SECTION to protect concurrent access to xxhash_state in all four hash types. - Python >= 3.13: uses PyObject's built-in ob_mutex via critical section - Python < 3.13: macros expand to nothing (GIL protects us) - GIL build (3.13+): macros expand to nothing (zero overhead) - Free-threaded build (3.13t+): real per-object locking - Locked operations: do_update, digest, hexdigest, intdigest, copy, reset, dealloc, init
duyue/free-threaded
1 day ago
perf: add free-threaded Python (3.13t+) safety with per-object critical sections Use Py_BEGIN_CRITICAL_SECTION / Py_END_CRITICAL_SECTION to protect concurrent access to xxhash_state in all four hash types. - Python >= 3.13: uses PyObject's built-in ob_mutex via critical section - Python < 3.13: macros expand to nothing (GIL protects us) - GIL build (3.13+): macros expand to nothing (zero overhead) - Free-threaded build (3.13t+): real per-object locking - Locked operations: do_update, digest, hexdigest, intdigest, copy, reset, dealloc, init
duyue/free-threaded
4 days ago
perf: add free-threaded Python (3.13t+) safety with per-object critical sections Use Py_BEGIN_CRITICAL_SECTION / Py_END_CRITICAL_SECTION to protect concurrent access to xxhash_state in all four hash types. - Python >= 3.13: uses PyObject's built-in ob_mutex via critical section - Python < 3.13: macros expand to nothing (GIL protects us) - GIL build (3.13+): macros expand to nothing (zero overhead) - Free-threaded build (3.13t+): real per-object locking - Locked operations: do_update, digest, hexdigest, intdigest, copy, reset, dealloc, init
duyue/free-threaded
4 days ago
perf: add free-threaded Python (3.13t+) safety with per-object critical sections Use Py_BEGIN_CRITICAL_SECTION / Py_END_CRITICAL_SECTION to protect concurrent access to xxhash_state in all four hash types. - Python >= 3.13: uses PyObject's built-in ob_mutex via critical section - Python < 3.13: macros expand to nothing (GIL protects us) - GIL build (3.13+): macros expand to nothing (zero overhead) - Free-threaded build (3.13t+): real per-object locking - Locked operations: do_update, digest, hexdigest, intdigest, copy, reset, dealloc, init
duyue/free-threaded
4 days ago
perf: add free-threaded Python (3.13t+) safety with per-object critical sections Use Py_BEGIN_CRITICAL_SECTION / Py_END_CRITICAL_SECTION to protect concurrent access to xxhash_state in all four hash types. - Python >= 3.13: uses PyObject's built-in ob_mutex via critical section - Python < 3.13: macros expand to nothing (GIL protects us) - GIL build (3.13+): macros expand to nothing (zero overhead) - Free-threaded build (3.13t+): real per-object locking - Locked operations: do_update, digest, hexdigest, intdigest, copy, reset, dealloc, init
duyue/free-threaded
4 days ago
feat: add .pyi stub validation, update stubs, clean up old config - Rename input -> data, _InputType -> _DataType in .pyi stubs - Add __all__ and algorithms_guaranteed to .pyi - Add test_stubs_pyright.py (pyright validation) - Migrate mypy.ini -> pyproject.toml [tool.mypy] - Add pyright to CI test dependencies - Remove Pipfile, Pipfile.lock, typecheck.sh - Bump version to 3.8.0.dev7
master
4 days ago
feat: add .pyi stub validation, update stubs, clean up old config - Rename input -> data, _InputType -> _DataType in .pyi stubs - Add __all__ and algorithms_guaranteed to .pyi - Add test_stubs_pyright.py (pyright validation) - Migrate mypy.ini -> pyproject.toml [tool.mypy] - Add pyright to CI test dependencies - Remove Pipfile, Pipfile.lock, typecheck.sh - Bump version to 3.8.0.dev7
next
5 days ago
Latest Branches
CodSpeed Performance Gauge
0%
perf: add free-threaded Python safety with per-object critical sections
#153
4 days ago
4eda0df
duyue/free-threaded
CodSpeed Performance Gauge
+2%
feat: add .pyi stub validation with stubtest and pyright
#151
5 days ago
fcd50e7
next
CodSpeed Performance Gauge
+2%
ci: make build depend on test via workflow_run
#152
5 days ago
0e52560
next1
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs