Lithammer Fuzzysearch Versions Save

:pig: Tiny and fast fuzzy search in Go

v1.1.8

1 year ago

v1.1.7

1 year ago
  • Improve performance of *Fold functions by reducing allocations (#53). Credits to @josharian!
                                  │    v1.1.6       │              v1.1.7
                                  │    sec/op       │   sec/op     vs base
    MatchFold-8                      334.5n ± 1%      137.9n ± 2%  -58.77% (p=0.000 n=10)
    MatchFoldBigLate-8              27.349µ ± 1%      7.088µ ± 1%  -74.08% (p=0.000 n=10)
    MatchFoldBigEarly-8             26.390µ ± 2%      6.091µ ± 9%  -76.92% (p=0.000 n=10)
    
                                  │     v1.1.6      │               v1.1.7
                                  │      B/op       │     B/op      vs base
    MatchFold-8                        720.0 ± 0%       512.0 ± 0%  -28.89% (p=0.000 n=10)
    MatchFoldBigLate-8              36.711Ki ± 0%     8.750Ki ± 0%  -76.17% (p=0.000 n=10)
    MatchFoldBigEarly-8             36.711Ki ± 0%     8.750Ki ± 0%  -76.17% (p=0.000 n=10)
    
                                  │    v1.1.6       │             v1.1.7
                                  │   allocs/op     │ allocs/op   vs base
    MatchFold-8                     10.000 ± 0%       2.000 ± 0%  -80.00% (p=0.000 n=10)
    MatchFoldBigLate-8              186.00 ± 0%       25.00 ± 0%  -86.56% (p=0.000 n=10)
    MatchFoldBigEarly-8             186.00 ± 0%       25.00 ± 0%  -86.56% (p=0.000 n=10)
    

v1.1.6

1 year ago
  • Improve performance of min() by around 1-18% using CMOV instructions (#50). Credits to @eos175!

v1.1.5

2 years ago
  • Improve performance of the Levenshtein distance calculation by reducing allocations (#38). Credits to @harrison3000!

v1.1.4

2 years ago
  • Improve performance by up to 80% for Match() by removing allocations (#37). Credits to @harrison3000!

    BenchmarkMatch-8           6939124   170.5 ns/op  512 B/op      2 allocs/op
    BenchmarkMatchBigLate-8    621099     1796 ns/op  512 B/op      2 allocs/op
    BenchmarkMatchBigEarly-8   2873862   413.7 ns/op  512 B/op      2 allocs/op
    
    BenchmarkMatch-8           58240472  20.66 ns/op    0 B/op      0 allocs/op
    BenchmarkMatchBigLate-8    896416     1298 ns/op    0 B/op      0 allocs/op
    BenchmarkMatchBigEarly-8   72513230  16.62 ns/op    0 B/op      0 allocs/op
    

v1.1.3

2 years ago
  • golang.org/x/text updated from 0.3.6 to 0.3.7.

v1.1.1

3 years ago
  • Fix crash caused by concurrent usage of FindNormazlied and FindNormalizedFold (#18). Credits to @mlwelles!

v1.1.0

4 years ago
  • Unicode normalized variants of Match{Fold}, RankMatch{Fold}, Find{Fold} and RankFind{Fold} added (#16). Credits to @acaloiaro!

    fuzzy.MatchNormalized("limón", "limon tart")  // true
    fuzzy.MatchNormalizedFold("limón", "LiMóN tArT")  // true
    
    fuzzy.RankMatchNormalized(...)
    fuzzy.RankMatchNormalizedFold(...)
    
    fuzzy.FindNormalized(...)
    fuzzy.FindNormalizedFold(...)
    
    fuzzy.RankFindNormalized(...)
    fuzzy.RankFindNormalizedFold(...)
    

v1.0.1

5 years ago
  • OriginalIndex field added to the Rank struct that contains the index a matched result had in its original list. #14
  • Fix slice bounds out of range panic. #15