Skip to content

v5.0

Latest
Compare
Choose a tag to compare
@r-devulap r-devulap released this 12 Feb 19:53
· 94 commits to main since this release
5b5884c

Release 5.0 adds new API's to support sorting arrays of custom defined objects and sorting key-value pairs of arrays. We also now have AVX2 acceleration for argsort and argselect methods. Here is a gist of the new features:

  • x86-simd-sort now supports an API to sort custom defined C++ objects via object_qsort. Please refer to README file on how to use it. Its performance can vary depending on the definition of the custom class. For the sake of illustration, sorting a simple struct based on one of its members can be up-to 4-5x faster than using std::sort on machines with AVX-512. Refer to the perf section for more details.
  • New API keyvalue_qsort to sort a pair of arrays representing key-value pairs (32-bit and 64-bit data types). These are an order of magnitude faster when compared to scalar ways of sorting them.
  • AVX2 support for argsort and argselect methods. These have been merged into NumPy and will be available with NumPy v2.0.

What's Changed

New Contributors

Full Changelog: v4.0...v5.0