KT
product(fill(0:1, n)...)Size: a a a
KT
product(fill(0:1, n)...)KT
VG
KT
KT
iterate(...), и там слишком много всегоVG
KT
KT
using BenchmarkTools
itr = Base.Iterators.product(fill(0:1, 10)...)
@benchmark for x in itr end
KT
BenchmarkTools.Trial:
memory estimate: 528.00 KiB
allocs estimate: 3072
--------------
minimum time: 77.896 μs (0.00% GC)
median time: 84.036 μs (0.00% GC)
mean time: 101.391 μs (14.36% GC)
maximum time: 2.149 ms (89.95% GC)
--------------
samples: 10000
evals/sample: 1
KT
VG
function iterateme(itr)
cnt = 0
for x in itr
cnt += 1
end
cnt
end
@benchmark iterateme($itr)
KT
h(itr) = (for x in itr end)
@benchmark h(itr)
VG
BenchmarkTools.Trial:
memory estimate: 0 bytes
allocs estimate: 0
--------------
minimum time: 424.623 ns (0.00% GC)
median time: 453.769 ns (0.00% GC)
mean time: 494.182 ns (0.00% GC)
maximum time: 1.938 μs (0.00% GC)
--------------
samples: 10000
evals/sample: 199
KT
АО
@benchmark h($itr)VG
@benchmark iterateme($itr)
АО