'Rcpp' Bindings for 'Annoy', a Library for Approximate Nearest Neighbors
'Annoy' is a small C++ library for Approximate Nearest Neighbors
written for efficient memory usage as well an ability to load from / save to
disk. This package provides an R interface by relying on the 'Rcpp' package,
exposing the same interface as the original Python wrapper to 'Annoy'. See
<https://github.com/spotify/annoy> for more on 'Annoy'. 'Annoy' is released
under Version 2.0 of the Apache License. Also included is a small Windows
port of 'mmap' which is released under the MIT license.
Rcpp bindings for Annoy
What is Annoy?
Annoy is a small, fast and lightweight library for Approximate Nearest Neighbours with a particular focus on efficient memory use and the ability to load a pre-saved index.
Why this package?
It provides a nice example for Rcpp Modules and use of templates: Annoy uses
a template data type (generally
float for efficiency) and one of two
distance measures. This package shows that it is easy to wrap both.
The package matches the behaviour of the original Python package in the
original Python wrapper for the Annoy
library. It also replicates all unit tests written for the Python frontend,
including a test for efficiently
mmap-ing a binary index file.
The package originally built on Linux and OS X, and thanks to a patch by Qiang Kou now also builds on Windows.
GPL (>= 2)
Functions in RcppAnnoy
|RcppAnnoy-package||Rcpp bindings for the Annoy C++ library for approximate nearest neighbors.|
Last month downloads
Include our badge in your README