-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Closed
Labels
Description
This is an issue on 0.5.1 and 0.6:
__ this was not an inference issue, the case below was updated to reflect that __
function test1(N::Integer)
return [1;1:N]
end
function test2(N::Integer)
A = Vector{Int}(undef, N+1)
A[1] = 1
A[2:end] = 1:N
return A
end
using BenchmarkTools
test1(20) == test2(20)
@benchmark test1(20)
@benchmark test2(20)
julia> test1(20) == test2(20)
true
julia> @benchmark test1(20)
BenchmarkTools.Trial:
memory estimate: 2.25 KiB
allocs estimate: 49
--------------
minimum time: 19.282 μs (0.00% GC)
median time: 19.905 μs (0.00% GC)
mean time: 20.430 μs (0.00% GC)
maximum time: 98.278 μs (0.00% GC)
--------------
samples: 10000
evals/sample: 1
julia> @benchmark test2(20)
BenchmarkTools.Trial:
memory estimate: 256 bytes
allocs estimate: 1
--------------
minimum time: 63.902 ns (0.00% GC)
median time: 70.512 ns (0.00% GC)
mean time: 76.032 ns (5.29% GC)
maximum time: 571.020 ns (72.77% GC)
--------------
samples: 10000
evals/sample: 988