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.sorton NaN-free numeric data (verified exhaustively againstnp.sortacross 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9711279ae069fb8be645edf036619fe71709bf9b2b9598c183eab1fe9e0fd32
|
|
| MD5 |
2cb3fb646ab804a63b59f75e2f7d8a4b
|
|
| BLAKE2b-256 |
977bedfa04781dfccb5a3f5f9f46857504be6e37e880dfa1d601104713a62db4
|
File details
Details for the file quill_fastsort_ips4o-0.2.0-cp313-cp313-macosx_12_0_arm64.whl.
File metadata
- Download URL: quill_fastsort_ips4o-0.2.0-cp313-cp313-macosx_12_0_arm64.whl
- Upload date:
- Size: 21.1 kB
- Tags: CPython 3.13, macOS 12.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
627d0a73e555d56f2928886843bcfd8a5900f5cccdf4437fb78e5905d06ff509
|
|
| MD5 |
fa9c65ba625ba7655ec770f3f92db493
|
|
| BLAKE2b-256 |
8eb1e596ad244b1a2a9fa7085c9632e680c9451e5da487f4b21f6dd0847ba6ef
|