Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A locality-sensitive hashing library
branch: master

Merge pull request #1 from a1k0n/patch-1

Fix bug in negative orthoplex vertex indices
latest commit 939d19e529
Utkan Güngördü authored
Failed to load latest commit information.
COPYING initial commit
Makefile initial commit initial commit
bitvector64.h initial commit initial commit
hash.h initial commit
lsh.h initial commit initial commit initial commit
math.h initial commit
querycontext.h initial commit
slsh.h Fix bug in negative orthoplex vertex indices
types.h initial commit initial commit
util.h initial commit


slash is a high-performance locality-sensitive hashing (LSH) [1] library, written in C++. It currently implements Spherical LSH (SLSH) [2] which is suitable for high dimensional feature-spaces.


gperftools, sparsehash.


Simply copy the files lsh.h, slsh.h, querycontext.h, math.h and into your source tree. To start using the library, you need to define a class satisfying an interface. (see BitVector64 class defined in bitvector64.h for a working example) and a hash function (see hash.*). The file contains a benchmark suite.


slash is released under GNU General Public License version 3.


[1] A. Gionis, P. Indyk and R. Motwani, ``Similarity Search in High Dimensions via Hashing'', Proc. 25th International Conference on Very Large Data Bases, VLDB1999, pp.518-529, 1999.

[2] `Terasawa, K., Tanaka, Y., 2007. Spherical LSH for Approximate Nearest-Neighbor Search on Unit Hypersphere. Springer. pp. 27–38''.

Something went wrong with that request. Please try again.