rmv benchmarks

pull/22/head v0.5.1
matthieugomez 2019-12-12 17:02:46 -05:00
parent 0c1443310c
commit f44ab13fef
2 changed files with 3 additions and 3 deletions

View File

@ -1,6 +1,6 @@
name = "StringDistances"
uuid = "88034a9c-02f8-509d-84a9-84ec65e18404"
version = "0.5.0"
version = "0.5.1"
[deps]
Distances = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7"

View File

@ -10,7 +10,7 @@ function Base.findmax(s::AbstractString, itr, dist::StringDistance; min_score =
vs = [0.0 for _ in 1:Threads.nthreads()]
xs = eltype(itr)["" for _ in 1:Threads.nthreads()]
is = [0 for _ in 1:Threads.nthreads()]
Threads.@threads for i in (itr isa Base.SkipMissing ? collect(keys(itr)) : keys(itr))
Threads.@threads for i in collect(keys(itr))
v = compare(s, itr[i], dist; min_score = vmin[])
v_old = Threads.atomic_max!(vmin, v)
if v >= v_old
@ -31,7 +31,7 @@ The function is optimized for `Levenshtein` and `DamerauLevenshtein` distances (
"""
function Base.findall(s::AbstractString, itr, dist::StringDistance; min_score = 0.8)
out = [Int[] for _ in 1:Threads.nthreads()]
Threads.@threads for i in (itr isa Base.SkipMissing ? collect(keys(itr)) : keys(itr))
Threads.@threads for i in collect(keys(itr))
score = compare(s, itr[i], dist; min_score = min_score)
if score >= min_score
push!(out[Threads.threadid()], i)