Skip to main content

quill-fastsort-ips4o

Parallel comparison-samplesort backend for quill-sort. Portable C++17 build that runs natively on macOS (arm64/x86_64), Linux (x86_64/aarch64) and Windows.

Registered under the quill backend name ips4o. Provides the entry points quill._backends.Ips4oBackend probes for:

sort_i64  sort_u64  sort_i32
sort_u32  sort_f64  sort_f32

Each sorts a contiguous, writable numpy buffer of the matching dtype in place, ascending. The kernel is quillcore::parallel_samplesort — a parallel comparison samplesort: oversample the input, pick K-1 splitters, scatter into globally value-ordered buckets across a thread pool, then sort each bucket independently with no merge step. This is a distinct algorithm family from the radix backend.

  • 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: scales with core count and array size on large inputs; falls back to a serial radix sort for small arrays.

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_ips4o-0.2.0.tar.gz (7.5 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_ips4o-0.2.0-cp313-cp313-macosx_12_0_arm64.whl (21.1 kB view details)

Uploaded CPython 3.13macOS 12.0+ ARM64

File details

Details for the file quill_fastsort_ips4o-0.2.0.tar.gz.

File metadata

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

File hashes

Hashes for quill_fastsort_ips4o-0.2.0.tar.gz
Algorithm Hash digest
SHA256 b9711279ae069fb8be645edf036619fe71709bf9b2b9598c183eab1fe9e0fd32
MD5 2cb3fb646ab804a63b59f75e2f7d8a4b
BLAKE2b-256 977bedfa04781dfccb5a3f5f9f46857504be6e37e880dfa1d601104713a62db4

See more details on using hashes here.

File details

Details for the file quill_fastsort_ips4o-0.2.0-cp313-cp313-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for quill_fastsort_ips4o-0.2.0-cp313-cp313-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 627d0a73e555d56f2928886843bcfd8a5900f5cccdf4437fb78e5905d06ff509
MD5 fa9c65ba625ba7655ec770f3f92db493
BLAKE2b-256 8eb1e596ad244b1a2a9fa7085c9632e680c9451e5da487f4b21f6dd0847ba6ef

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 files

0.1.0

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