⚠️There's a newer version (0.0.22) of this package. Take me there.

RcppAnnoy

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.

Annoy is written by Erik Bernhardsson.

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.

Status

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.

Installation

You can either install from source via this repo, or install the CRAN package the usual way from R.

Author

Dirk Eddelbuettel

License

GPL (>= 2)

Copy Link

Version

Down Chevron

Install

install.packages('RcppAnnoy')

Monthly Downloads

38,703

Version

0.0.7

License

GPL (>= 2)

Last Published

November 15th, 2015

Functions in RcppAnnoy (0.0.7)