persona-community-5/.pnpm-store/v3/files/71/b44c12ece3c12231ff2ba668d7b94e12783887d7e5a2b0768a9a803ea28b7b5a06edd162114abec9a0d07e941a32169a51a39905309c955040a27df10d2656
rdev-worker a1d0d1bf1c
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
build: /implement-feature community-ui --requirements 'Build the React commu...
2026-02-24 08:22:30 +00:00

59 lines
1.6 KiB
Plaintext

# js-levenshtein [![Build Status](https://travis-ci.org/gustf/js-levenshtein.svg?branch=master)](https://travis-ci.org/gustf/js-levenshtein)
A very efficient JS implementation calculating the Levenshtein distance, i.e. the difference between two strings.
Based on Wagner-Fischer dynamic programming algorithm, optimized for speed and memory
- use a single distance vector instead of a matrix
- loop unrolling on the outer loop
- remove common prefixes/postfixes from the calculation
- minimize the number of comparisons
## Install
```
$ npm install --save js-levenshtein
```
## Usage
```js
const levenshtein = require('js-levenshtein');
levenshtein('kitten', 'sitting');
//=> 3
```
## Benchmark
```
$ npm run bench
50 paragraphs, length max=500 min=240 avr=372.5
162 op/s » js-levenshtein
98 op/s » talisman
94 op/s » levenshtein-edit-distance
85 op/s » leven
39 op/s » fast-levenshtein
100 sentences, length max=170 min=6 avr=57.5
3,076 op/s » js-levenshtein
2,024 op/s » talisman
1,817 op/s » levenshtein-edit-distance
1,633 op/s » leven
800 op/s » fast-levenshtein
2000 words, length max=20 min=3 avr=9.5
3,119 op/s » js-levenshtein
2,416 op/s » talisman
2,141 op/s » levenshtein-edit-distance
1,855 op/s » leven
1,260 op/s » fast-levenshtein
```
Benchmarks was performed with node v8.12.0 on a MacBook Pro 15", 2.9 GHz Intel Core i9
## License
MIT © Gustaf Andersson