Skip to content

Add pion-resp, pion-simd and pion-slab 1.1.0 - #450

Merged
alisterburt merged 1 commit into
modular:mainfrom
pavelhorak:add-pion-libs-1.1.0
Nov 9, 2026
Merged

alisterburt merged 1 commit into
modular:mainfrom
pavelhorak:add-pion-libs-1.1.0

Conversation

@pavelhorak

Copy link
Copy Markdown
Contributor

Three Mojo libraries from Pion 1.1.0, Apache-2.0. Each is built from the files under src/ that the Pion server itself compiles, so a package and the server cannot drift apart.

Package What it is
pion-resp A zero-copy RESP2/RESP3 request parser: pipelined commands in one buffer, inline commands, partial frames left for the next read, Redis's protocol errors. Tokens point into your buffer.
pion-slab An mmap-backed slab allocator with O(1) allocate and free, and a fixed-capacity object pool.
pion-simd Vector-distance kernels: FP32 dot product, INT8 and INT4 squared L2, Hamming, FP32-to-INT8 quantization, with ARM NEON SDOT and x86 VNNI paths.

Recipe: the source is the v1.1.0 tag. The build assembles the package with packages/build.py --assemble-only (copies its files and rewrites Pion's absolute imports to package-relative ones) and runs mojo precompile into $PREFIX/lib/mojo/<name>.mojoc. The test runs the package's own tests against the installed .mojoc. Mojo 1.2.0.

Tested:

  • osx-arm64: all three built and passed their tests with rattler-build 0.30 and this repository's channels and variants/variants.yaml.
  • Linux: not built with rattler-build. Pion's gate tier runs the same assemble, precompile and test steps (tests/test_mojo_packages.py), and they passed on GitHub's linux x86-64 and arm64 runners for the commit this release was cut from.

Usage notes and the per-package API: packages/README.md.

@alisterburt

Copy link
Copy Markdown
Collaborator

thank you @pavelhorak !

@alisterburt
alisterburt merged commit 222a954 into modular:main Nov 9, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants