DataStructures.jl icon indicating copy to clipboard operation
DataStructures.jl copied to clipboard

Allow @inbounds for deque, queue and stack

Open simonschoelly opened this issue 5 years ago • 5 comments

This PR allows disabling boundchecks for some methods in deque, queue and stack.

I should maybe mention, that the method first from the Julia base, does not allow one to disable boundchecks for Vectors, although this package already allows one to disable boundchecks for first on CircularDeque.

I will now make a basic benchmark and post the results here.

Related issue: #586

simonschoelly avatar Mar 07 '20 00:03 simonschoelly

Codecov Report

Merging #588 into master will not change coverage. The diff coverage is 100%.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #588   +/-   ##
=======================================
  Coverage   95.01%   95.01%           
=======================================
  Files          33       33           
  Lines        2831     2831           
=======================================
  Hits         2690     2690           
  Misses        141      141
Impacted Files Coverage Δ
src/deque.jl 98.59% <100%> (ø) :arrow_up:
src/queue.jl 100% <100%> (ø) :arrow_up:
src/stack.jl 100% <100%> (ø) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update d321175...d9d24a0. Read the comment docs.

codecov[bot] avatar Mar 07 '20 00:03 codecov[bot]

Let's wait a bit before merging, I originally wrote some dfs and bfs connected components algorithms for benchmarking, but did not get better results (maybe even slightly worse). I will have to check, if it was a problem with the benchmarks, or if it is something else (maybe the inlining might cause some issues).

I don't really have time during the week, but I can work on that on the weekend.

simonschoelly avatar Mar 11 '20 14:03 simonschoelly

bump

oxinabox avatar Mar 28 '20 09:03 oxinabox

bump

oxinabox avatar Apr 19 '20 15:04 oxinabox

bump

eulerkochy avatar May 17 '20 06:05 eulerkochy