QuantumBFS/Yao.jl

Reduce the compiling time of the repeat constructor

GiggleLiu opened this issue · 0 comments

It may feeze the compiler when the circuit size is greater than 100.

julia> using Yao

julia> using Random

julia> @time repeat(100, X, shuffle(1:100))
 91.788021 seconds (37.80 M allocations: 2.590 GiB, 1.08% gc time, 99.99% compilation time)
nqubits: 100
repeat on (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100)
└─ X