make Iterators.take and Iterators.drop return views for vector input#61234
make Iterators.take and Iterators.drop return views for vector input#61234nsajko wants to merge 7 commits intoJuliaLang:masterfrom
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
06a2c4c to
58c3d8c
Compare
This comment was marked as resolved.
This comment was marked as resolved.
58c3d8c to
8e410f5
Compare
Improvements: * Make `Iterators.take` and `Iterators.drop` preserve the `Base.Fix2(isa, AbstractVector)` property of iterators. * For `Iterators.drop`: improved iteration performance.
8e410f5 to
4a7bdec
Compare
|
Test failures:
|
I don't understand this statements as this is not any kind of consistent property AFAICT performance wins could be a decent argument |
What I wanted to say is that keeping |
Benchmark script: using BenchmarkTools
function last_alt(i)
len = length(i)
j = Iterators.drop(i, len - 1)
only(j)
end
@btime last_alt(v) evals=200 samples=10000 seconds=Inf setup=(v = rand(Int8, 5000);)Results: Interpretation: huge speedup. Presumably because this PR turns a |
|
From triage: in a context generic enough to use |
Improvements:
Make
Iterators.takeandIterators.droppreserve theBase.Fix2(isa, AbstractVector)property of iterators.For
Iterators.drop: improved iteration performance.