Conversation
…upport a parameterized module name
…ed on free-threading builds
…is always unlocked
PYXXH32_update, PYXXH64_update, PYXXH3_64_update and PYXXH3_128_update were identical except for type prefixes and algorithm names. The new macro eliminates all four bodies, saving 148 lines.
There was a problem hiding this comment.
Code Review
This pull request optimizes performance by making the default streaming hash objects in xxhash non-thread-safe by default, removing per-object locking overhead. A new xxhash.threadsafe submodule is introduced to provide thread-safe streaming hash objects with per-object locks. The C extension src/_xxhash.c is refactored to support compiling both variants (_xxhash and _xxhash_threadsafe) from the same source, and setup.py is updated to build both extensions. Additionally, the deprecated VERSION_TUPLE is removed, and the package version is bumped to 4.0.0.dev0. There are no review comments, so I have no feedback to provide.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Merging this PR will not alter performance
Comparing Footnotes
|
Uh oh!
There was an error while loading. Please reload this page.