diff options
author | Charles Harris <charlesr.harris@gmail.com> | 2019-05-11 20:01:16 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-11 20:01:16 -0700 |
commit | 3bdc915f8a3d01625dda917102978b81b3609ace (patch) | |
tree | ce023e56ff36e27954330edc271e92068cdddfc0 /doc/release | |
parent | 4def09ae0c596f00b90774986c13e833ccfa86cc (diff) | |
parent | 7f586789e4b4e84f8f947e6d61c8718b453632af (diff) | |
download | numpy-3bdc915f8a3d01625dda917102978b81b3609ace.tar.gz |
Merge pull request #12586 from hameerabbasi/radix-sort
ENH: Implement radix sort
Diffstat (limited to 'doc/release')
-rw-r--r-- | doc/release/1.17.0-notes.rst | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/doc/release/1.17.0-notes.rst b/doc/release/1.17.0-notes.rst index 60614673f..80cb36a43 100644 --- a/doc/release/1.17.0-notes.rst +++ b/doc/release/1.17.0-notes.rst @@ -121,6 +121,9 @@ random data. The algorithm is stable and requires O(n/2) working space. For details of the algorithm, refer to `CPython listsort.txt <https://github.com/python/cpython/blob/3.7/Objects/listsort.txt>`_. +In addition, for very small dtypes, radix sort is used instead of timsort. In +general, we attempt to use the fastest possible implementation. + ``np.unpackbits`` now accepts a ``count`` parameter --------------------------------------------------- ``count`` allows subsetting the number of bits that will be unpacked up-front, @@ -182,6 +185,14 @@ maintains `O(N log N)` run time complexity instead of deteriorating towards `O(N*N)` for prime lengths. Also, accuracy for real-valued FFTs with near-prime lengths has improved and is on par with complex-valued FFTs. +Performance improvements for integer sorts +------------------------------------------ + +``sort``, ``argsort``, ``ndarray.sort`` and ``ndarray.argsort`` now use radix +sort as the default stable sort for integers and booleans. This is faster than +the old default, mergesort, in the vast majority of cases. + + Further improvements to ``ctypes`` support in ``np.ctypeslib`` -------------------------------------------------------------- A new `numpy.ctypeslib.as_ctypes_type` function has been added, which can be |