UNPKG

fast-dice-coefficient

Version:

Fastest implementation of Sørensen–Dice coefficient.

35 lines (24 loc) 1.26 kB
# 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 |