fast-dice-coefficient
Version:
Fastest implementation of Sørensen–Dice coefficient.
35 lines (24 loc) • 1.26 kB
Markdown
# fast-dice-coefficient
Fastest implementation of [Sørensen–Dice coefficient](https://en.wikipedia.org/wiki/S%C3%B8rensen%E2%80%93Dice_coefficient). This implementation has linear time complexity O(n), as opposed to other solutions: [string-similarity](https://www.npmjs.com/package/string-similarity), [dice-coefficient](https://www.npmjs.com/package/dice-coefficient), etc., running in quadratic time O(n<sup>2</sup>).
This algorithm can be used to compute the similarity between strings. It return a fraction between 0 and 1, where 0 indicates no match and 1 indicates full match.
## Install
```
$ npm install fast-dice-coefficient --save
```
### Usage
``` javascript
var dice = require('fast-dice-coefficient');
console.log(dice('javascript', 'coffeescript'));
//=> 0.5
```
### Benchmark
200 samples on i7-3667u with 8GB RAM.
Using two test-strings with 100 characters each.
First 4 packages uses dice-coefficient and last uses levenshtein.
| Package | ops/sec |
|-------------------------|---------|
| stringSimilarity | 7,590 |
| natural.DiceCoefficient | 11,117 |
| dice-coefficient | 14,732 |
| fast-dice-coefficient | 44,067 |
| fast-levenshtein | 4,495 |