Sort and argsort
8- to 128-bit integers, half to double floats with a defined NaN order, strings with collations, records and key-value pairs, stable or not, on one or all cores.
SortingSorting, top-k, percentiles, ranks, search, grouping, merges and set operations on arrays of numbers, strings and records. Every other Kwker product runs on it, and you can call it directly from 20 languages.
Compared with the fastest of Intel's x86-simd-sort, Google's VQSort, djbsort and Rust's standard sort in each case, single thread.
geometric mean, 672 small-array cases (2 to 900 keys per call), AVX-512
the same cases on AVX2 processors
720 cases of 1K to 1M keys, against x86-simd-sort and VQSort, AVX2
faster than Java 25's built-in Arrays.sort, geometric mean of 4 key types at 1M keys (JavaScript: 11×)
Production builds on Intel Xeon, October 2026. Three of the 1,344 small-array cases (both engines) are slower than the best competitor; they are listed on the benchmarks page with the raw results. · Measure it on your machine
8- to 128-bit integers, half to double floats with a defined NaN order, strings with collations, records and key-value pairs, stable or not, on one or all cores.
SortingThe k largest or smallest, any percentile, partial sorts, per-group and masked top-k, without sorting everything.
Top-k and selectionsearchsorted, bucketize and bucket counts compatible with NumPy, and ranks with every tie rule.
SearchingTotals and counts per key, group codes over several columns, k-way merges and set operations on sorted data.
Groups and setsFiles larger than memory, every core with the same result as one thread, a hard cap on extra memory, cancellation and progress.
Large dataArrow arrays, chunked and nested columns, and lexicographic ordering over several columns.
DataFrames and Arrowimport numpy as np
import kwker
prices = np.array([19.99, 4.50, 12.00, 99.00, 7.25, 45.00])
kwker.sort(prices) # in place
print(prices)
values, idx = kwker.top_k(prices, 2, descending=True)
print(values, idx)
print(kwker.searchsorted(prices, [10.0, 50.0]))
[ 4.5 7.25 12. 19.99 45. 99. ]
[99. 45.] [5 4]
[2 5]
Free for companies under 100 people and about $1.3M revenue (PolyForm Small Business). Every product line is in every tier.