@time +(1, 2) |> typeof
0.000001 seconds
Int64
julia> @time +(1, 2.) |> typeof
0.000001 seconds
Float64
julia> @time (@code_typed +(1, 2)).second
0.000247 seconds (383 allocations: 26.688 KiB, 76.41% compilation time)
Int64
julia> @time (@code_typed +(1, 2.)).second
0.000340 seconds (752 allocations: 52.109 KiB, 87.38% compilation time)
Float64
Есть ли более правильный способ узнать возвращаемый тип по типам аргументов без выполнения самой функции? @code_typed что-то уж слишком много аллоцирует... Compipiation time 70-80% там при каждом вызове! Макрос выглядит как отладочный для работе в REPL, но никак не для рантайма.
Всё так, он не для рантайма, это факт.
@code_warntype?
Обсуждают сегодня