Skip to content

stream-inflate: add build-stream-inflate.yml for riscv64 wheels - #1115

Merged
luhenry merged 3 commits into
mainfrom
stream-inflate
Sep 7, 2026
Merged

stream-inflate: add build-stream-inflate.yml for riscv64 wheels#1115
luhenry merged 3 commits into
mainfrom
stream-inflate

Conversation

@luhenry

@luhenry luhenry commented Sep 6, 2026

Copy link
Copy Markdown
Member

Compiles its pure-Python DEFLATE decoder with Cython into a per-interpreter C extension. Upstream publishes no riscv64 wheel.

Mirrors the build-linux job of upstream's build-source-package-and-wheels.yml.

Differs from upstream

  • Cython (a build-system.requires dep) has no riscv64 wheel on PyPI - resolved from our registry instead
  • Dropped musllinux - the GIL-enabled builds ran ~8x slower there (pymalloc delegates to musl's slower malloc; PEP 703's mimalloc swap is why cp314t alone was fine) and didn't finish in 240 minutes

Testing

  • same as upstream

License: OK

The riscv64 build jobs hit the 60-minute wall 40-44% through the
1956-case parametrized fuzz suite; every completed test passed.
cp312/cp313/cp314-musllinux consistently ran ~8x slower than every
other combination on this allocation-heavy fuzz suite and did not
finish within a 240-minute budget (twice, reproducibly, at the same
~43-44% mark), while cp314t-musllinux and all four manylinux jobs
finished cleanly in under 2h15m. Per PEP 703, the free-threaded
build (cp314t) replaces pymalloc with mimalloc; the GIL-enabled
builds keep pymalloc, which delegates large allocations straight to
the platform malloc - musl's being markedly slower than glibc's here.
Not fixable in this workflow; dropping musllinux per the skill's
"if the musl jobs fail with no obvious fix, strip them" guidance.
@luhenry
luhenry merged commit ecb03ca into main Sep 7, 2026
10 checks passed
@luhenry
luhenry deleted the stream-inflate branch September 7, 2026 07:25
@luhenry luhenry linked an issue Sep 7, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

stream-inflate riscv64 support

1 participant