Skip to main content

quill-fastsort

Multi-threaded MSD-radix sort backend for quill-sort. Portable C++17 reimplementation of the original Windows-only compiled wheel, building natively on macOS (arm64/x86_64), Linux (x86_64/aarch64) and Windows.

Provides the entry points quill._backends.RustBackend (backend name rust_voracious) probes for:

sort_i64  sort_f64

Each sorts a contiguous, writable numpy buffer of the matching dtype in place, ascending. The kernel is quillcore::parallel_radix — the voracious-radix equivalent: a top-byte MSD partition across a thread pool followed by an in-bucket LSD radix, with no merge step.

  • Never-lose: results are identical to np.sort on NaN-free numeric data (verified exhaustively against np.sort across dtypes, sizes and adversarial distributions). NaN is stripped by the Quill dispatcher before any kernel runs.
  • Speed: measured 3–11× over single-threaded std::sort for int64 on 8 cores (scales with core count and array size).

Build

pip install .            # needs only a C++17 compiler

The sort kernels are header-only (src/quill_core.hpp, a synced copy of companions/_core/quill_core.hpp — run companions/sync_core.sh after editing the canonical core). No numpy headers or third-party libraries are required.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quill_fastsort-6.1.0.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quill_fastsort-6.1.0-cp313-cp313-macosx_12_0_arm64.whl (12.0 kB view details)

Uploaded CPython 3.13macOS 12.0+ ARM64

File details

Details for the file quill_fastsort-6.1.0.tar.gz.

File metadata

  • Download URL: quill_fastsort-6.1.0.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for quill_fastsort-6.1.0.tar.gz
Algorithm Hash digest
SHA256 b14975ac83292c3b6020b34a282ea2164070b96a18647c2d25bf0844bbe797f6
MD5 0afdd85ff9bd459297e4835d43fd7e26
BLAKE2b-256 6c6cc70755c33251fb63b81687165521b0fe16e8e73f630c4eb7d60b6a42e45e

See more details on using hashes here.

File details

Details for the file quill_fastsort-6.1.0-cp313-cp313-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for quill_fastsort-6.1.0-cp313-cp313-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 be9d8da0253ffdb095b6b4b834e6e8ec57240113a877a72315d1d6c0458f31b1
MD5 4cdba6acc444114c6a364e9e44c756ed
BLAKE2b-256 b62a616daa97aa622426a48f94d1b4f3b42c230142ffe11f5b946a59a378b5c0

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

6.1.0 This release

2 files

6.0.4

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page