Closed
Description
delimit
negligible
potatoes
satisfied
The basis of the decision to use the string fais
in the benchmark subdirectory files might welcome a clarification.
$ grep -nr delimite ConcurrentCollections.jl
ConcurrentCollections.jl/src/dict.jl:423:avoid stepping into other base cases by using an empty slot to delimite the base
$ grep -nr neglegible ConcurrentCollections.jl
ConcurrentCollections.jl/src/dlcrq.jl:222:# It looks like some non-neglegible amount of time is spent in
ConcurrentCollections.jl/src/dict.jl:24:# seems that the effect is neglegible. The performance is much better than
$ grep -nr potatos ConcurrentCollections.jl
ConcurrentCollections.jl/benchmark/hotpotato/run.jl:9: potatos = []
ConcurrentCollections.jl/benchmark/hotpotato/run.jl:17: push!(potatos, (; trialid, result, ntasks, impl = :dlcrq))
ConcurrentCollections.jl/benchmark/hotpotato/run.jl:20: push!(potatos, (; trialid, result, ntasks, impl = :base))
ConcurrentCollections.jl/benchmark/hotpotato/run.jl:27: return (; potatos, fais, repeat, duration)
ConcurrentCollections.jl/benchmark/hotpotato/plot.jl:9:potatos = map(rawdata["potatos"]) do info
ConcurrentCollections.jl/benchmark/hotpotato/plot.jl:39:datadf = vcat(DataFrame(potatos), DataFrame(fais); cols = :union)
$ grep -nr satisifed ConcurrentCollections.jl
ConcurrentCollections.jl/src/dlcrq.jl:62: @goto satisifed
ConcurrentCollections.jl/src/dlcrq.jl:77: @label satisifed
$
Was the author's intention is no longer used (without adding other mechanisms like ref counting)
?
$ ed -s ConcurrentCollections.jl/src/dlcrq.jl <<<'222,229p'
# It looks like some non-neglegible amount of time is spent in
# `Vector{Waiter{T}}(undef, _)`, presumably zeroing out the elements. A tricky
# part of this is detecting that the CRQ is no longer used. Since the CRQ may be
# closed just after the FAI and before the CAS on the slot is complete, (naively
# thinking) linear scan the `.ring` array is required for checking that the CRQ
# is not longer used (without adding other mechanisms like ref conting). So,
# ATM, only the newcrq that lost CAS is cached (which still helps the
# performance).
$
Was the author's intention mutated
here?
$ ed -s ConcurrentCollections.jl/src/dlcrq.jl <<<'117,127p'
function trash!(w::Waiter)
if assertion_enabled()
old, success = @atomicreplace w.state WAITER_INIT => WAITER_TRASHED
if !success
error("unshared waiter mutaed: state: $old")
end
else
@atomic :monotonic w.state = WAITER_TRASHED
end
w.task = nothing
end
$
The following shell script is authorised for use and/or modification by the repo Maintainers.
$ cat typos.sh
#!/bin/sh
# sed -i "s/conting/counting/g" ConcurrentCollections.jl/src/dlcrq.jl
sed -i "s/delimite/delimit/g" ConcurrentCollections.jl/src/dict.jl
sed -i "s/neglegible/negligible/g" ConcurrentCollections.jl/src/dlcrq.jl
# sed -i "s/mutaed/mutated/g" ConcurrentCollections.jl/src/dlcrq.jl
sed -i "s/neglegible/negligible/g" ConcurrentCollections.jl/src/dict.jl
sed -i "s/potatos/potatoes/g" ConcurrentCollections.jl/benchmark/hotpotato/run.jl
sed -i "s/potatos/potatoes/g" ConcurrentCollections.jl/benchmark/hotpotato/plot.jl
sed -i "s/satisifed/satisfied/g" ConcurrentCollections.jl/src/dlcrq.jl
$
Metadata
Metadata
Assignees
Labels
No labels