Software zum Installieren eines Smart-Mirror Frameworks , zum Nutzen von hochschulrelevanten Informationen, auf einem Raspberry-Pi.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 2.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. # fastest-levenshtein :rocket:
  2. > Fastest JS implemenation of [Levenshtein distance](https://en.wikipedia.org/wiki/Levenshtein_distance).<br>
  3. > Measure the difference between two strings.
  4. [![Build Status](https://travis-ci.org/ka-weihe/node-levenshtein.svg?branch=master)](https://travis-ci.org/ka-weihe/node-levenshtein)
  5. [![Coverage Status](https://coveralls.io/repos/github/ka-weihe/node-levenshtein/badge.svg?branch=master)](https://coveralls.io/github/ka-weihe/node-levenshtein?branch=master)
  6. ```
  7. $ npm i fastest-levenshtein
  8. ```
  9. ## Usage
  10. ### Node
  11. ```javascript
  12. const {distance, closest} = require('fastest-levenshtein')
  13. // Print levenshtein-distance between 'fast' and 'faster'
  14. console.log(distance('fast', 'faster'))
  15. //=> 2
  16. // Print string from array with lowest edit-distance to 'fast'
  17. console.log(closest('fast', ['slow', 'faster', 'fastest']))
  18. //=> 'faster'
  19. ```
  20. ### Deno
  21. ```javascript
  22. import {distance, closest} from 'https://deno.land/x/fastest_levenshtein/mod.ts'
  23. // Print levenshtein-distance between 'fast' and 'faster'
  24. console.log(distance('fast', 'faster'))
  25. //=> 2
  26. // Print string from array with lowest edit-distance to 'fast'
  27. console.log(closest('fast', ['slow', 'faster', 'fastest']))
  28. //=> 'faster'
  29. ```
  30. ## Benchmark
  31. I generated 500 pairs of strings with length N. I measured the ops/sec each library achieves to process all the given pairs. Higher is better. `fastest-levenshtein` is a lot faster in all cases.
  32. | Test Target | N=4 | N=8 | N=16 | N=32 | N=64 | N=128 | N=256 | N=512 | N=1024 |
  33. |---------------------------|-------|-------|-------|------|-------|-------|-------|-------|--------|
  34. | fastest-levenshtein | 44423 | 23702 | 10764 | 4595 | 1049 | 291.5 | 86.64 | 22.24 | 5.473 |
  35. | js-levenshtein | 21261 | 10030 | 2939 | 824 | 223 | 57.62 | 14.77 | 3.717 | 0.934 |
  36. | leven | 19688 | 6884 | 1606 | 436 | 117 | 30.34 | 7.604 | 1.929 | 0.478 |
  37. | fast-levenshtein | 18577 | 6112 | 1265 | 345 | 89.41 | 22.70 | 5.676 | 1.428 | 0.348 |
  38. | levenshtein-edit-distance | 22968 | 7445 | 1493 | 409 | 109 | 28.07 | 7.095 | 1.789 | 0.445 |
  39. ### Relative Performance
  40. This image shows the relative performance between `fastest-levenshtein` and `js-levenshtein` (the 2nd fastest). `fastest-levenshtein` is always a lot faster. x-axis shows "times faster".
  41. ![Benchmark](/images/relaperf.png)
  42. ## License
  43. This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details