Skip to main content

Compiled multi-threaded radix sort backend (quill._fastsort) for quill-sort

Project description

quill-fastsort

Compiled multi-threaded radix-sort backend for quill-sort.

This package delivers a single compiled extension module, quill._fastsort (a PyO3 binding over voracious_radix_sort), which quill-sort imports opportunistically. With it installed, quill.sort_array() dispatches int64 / float64 arrays to a multi-threaded radix sort measured at ~5× faster than np.sort (int64) and ~3× faster (float64) on a 28-core machine.

pip install quill-sort quill-fastsort
import quill, numpy as np
quill.available_backends()          # -> ['rust_voracious', ...]
quill.sort_array(np.random.randint(0, 2**31, 10_000_000, dtype=np.int64))

Installing it is purely a speed optimisation: quill-sort works correctly without it, falling back through its backend chain (GPU / polars / numpy) to np.sort. Prebuilt wheels are stable-ABI (abi3, one wheel per platform covers CPython ≥ 3.8). MIT licensed.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

quill_fastsort-6.0.4-cp38-abi3-win_amd64.whl (317.9 kB view details)

Uploaded CPython 3.8+Windows x86-64

File details

Details for the file quill_fastsort-6.0.4-cp38-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for quill_fastsort-6.0.4-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 19d323ef720bd43db1633d4620d3d5ef3fab192d3e17c3849883b34e50486066
MD5 a35f9c661dec7ebd433b8ee2dbd4df7f
BLAKE2b-256 05b7ceee217b2badd4f840f30113b05ec6662b83b5d4b2f021f89974164611c1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page