Releases: nmslib/nmslib
New optimized spaces (negdotprod, l1, linf) + Aarch64 binaries
Note: We unfortunately had deployment issues. As a result we had to delete several versions between 2.0.6 and 2.1.1. If you installed one of these versions, please, delete them and install a more recent version (>=2.1.1).
The current build focuses on:
- Providing more efficient ("optimized") implementations for spaces:
negdotprod
,l1
,linf
. - Binaries for ARM 64 (aarch64).
Python 3.8 binaries
Just providing Python 3.8 binaries.
Removing old code and providing binary wheels
The main objective of this release to provide binary wheels. For compatibility reasons, we need to stick to basic SSE2 instructions. However, when the Python library is being imported, it prints a message suggesting that a more efficient version can be installed from sources (and tells how to do this).
Furthermore, this release removes a lot of old code, which speeds up compilation by 70%:
- Non-performing methods
- Double-indices
This is a step towards more lightweight NMSLIB library.
fixing memory leak
#398 Fixing memory leak in loadIndex
Bugfixes, saving/loading data, bit_jaccard, doc re-org
This is a clean-up release focusing on several important issues:
- Fixing a bug with knnQuery #370
- Added a possibility to save/load data efficiently from the Python bindings (and the query server) #356 Python notebooks are updated accordingly
- We have bit Jaccard space (many thanks @gregfriedland)
- Upgraded the query server to use a recent Apache Thrift
- Importantly the documentation is reorganized quite a bit:
5.1 There is now a single entry point for all the docs
5.2 Most of the docs are now online and only fairly technical description of search spaces and methods is in the PDF manual.
Windows build fixes
Hopefully this will fix the Windows build #348
Fixing the logging issues
An additional fix for #327
Fixing the newly introduced bug mentioned in the #324 comment
See #324 (comment)
Resolving python process crash
Resolving issue #327
Improving concurrency
- Improving concurrency in Python (preventing hanging in a certain situation #291)
- Improving ParallelFor : passing thread ID and not starting threads in a single-thread mode.