I have a function pt
:
function pt(
args::Union{AbstractFuture,PartitionType,PartitionTypeComposition,Vector}...;
kwargs...,
)
that has a whole bunch of specializations: (determined using SnoopCompile):
var"#pt#214"(kwargs::Base.Pairs{Symbol, V, Tuple{Vararg{Symbol, N}}, NamedTuple{names, T}} where {V, N, names, T<:Tuple{Vararg{Any, N}}}, ::typeof(pt), args::Union{AbstractFuture, PartitionType, Banyan.PartitionTypeComposition, Vector}...) in Banyan at /home/calebwin/Projects/banyan-julia/Banyan/src/annotation.jl:273 (33 specializations)
julia> collect_for(mref[], banyandf_inf)
33-element Vector{SnoopCompileCore.InferenceTimingNode}:
InferenceTimingNode: 0.001690/0.245240 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, _A, Tuple{Symbol, Symbol}, NamedTuple{names, T}} where {_A, names, T<:Tuple{Vararg{Any, N}}}, ::typeof(pt), ::AbstractFuture, ::PartitionType) with 9 direct children
InferenceTimingNode: 0.007639/0.039909 on Banyan.var"#pt#214"(::Base.Pairs, ::typeof(pt), ::AbstractFuture, ::Banyan.PartitionTypeComposition) with 17 direct children
InferenceTimingNode: 0.000487/0.039676 on Banyan.var"#pt#214"(::Base.Pairs, ::typeof(pt), ::PartitionType, ::Banyan.PartitionTypeComposition) with 5 direct children
InferenceTimingNode: 0.000468/0.019484 on Banyan.var"#pt#214"(::Base.Pairs, ::typeof(pt), ::Banyan.PartitionTypeComposition, ::Banyan.PartitionTypeComposition) with 6 direct children
InferenceTimingNode: 0.007155/0.028872 on Banyan.var"#pt#214"(::Base.Pairs, ::typeof(pt), ::Vector, ::Banyan.PartitionTypeComposition) with 4 direct children
InferenceTimingNode: 0.006646/0.009635 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, V, Tuple{Vararg{Symbol, N}}, NamedTuple{names, T}} where {V, N, names, T<:Tuple{Vararg{Any, N}}}, ::typeof(pt), ::AbstractFuture, ::Banyan.PartitionTypeComposition) with 11 direct children
InferenceTimingNode: 0.000329/0.000329 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, V, Tuple{Vararg{Symbol, N}}, NamedTuple{names, T}} where {V, N, names, T<:Tuple{Vararg{Any, N}}}, ::typeof(pt), ::PartitionType, ::Banyan.PartitionTypeComposition) with 0 direct children
InferenceTimingNode: 0.000305/0.000305 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, V, Tuple{Vararg{Symbol, N}}, NamedTuple{names, T}} where {V, N, names, T<:Tuple{Vararg{Any, N}}}, ::typeof(pt), ::Banyan.PartitionTypeComposition, ::Banyan.PartitionTypeComposition) with 0 direct children
InferenceTimingNode: 0.006276/0.006276 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, V, Tuple{Vararg{Symbol, N}}, NamedTuple{names, T}} where {V, N, names, T<:Tuple{Vararg{Any, N}}}, ::typeof(pt), ::Vector, ::Banyan.PartitionTypeComposition) with 0 direct children
InferenceTimingNode: 0.001258/0.021914 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, ::typeof(pt), ::AbstractFuture, ::Vector{PartitionType}) with 4 direct children
InferenceTimingNode: 0.000505/0.033146 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, ::typeof(pt), ::PartitionType, ::Vector{PartitionType}) with 4 direct children
InferenceTimingNode: 0.000522/0.025492 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, ::typeof(pt), ::Banyan.PartitionTypeComposition, ::Vector{PartitionType}) with 4 direct children
InferenceTimingNode: 0.001459/0.024593 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, ::typeof(pt), ::Vector, ::Vector{PartitionType}) with 4 direct children
InferenceTimingNode: 0.001763/0.028671 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, ::typeof(pt), ::Union{AbstractFuture, PartitionType, Banyan.PartitionTypeComposition, Vector}, ::Union{AbstractFuture, PartitionType, Banyan.PartitionTypeComposition, Vector}, ::Union{AbstractFuture, PartitionType, Banyan.PartitionTypeComposition, Vector}, ::Union{AbstractFuture, PartitionType, Banyan.PartitionTypeComposition, Vector}, ::Union{AbstractFuture, PartitionType, Banyan.PartitionTypeComposition, Vector}, ::Vector{PartitionType}) with 9 direct children
InferenceTimingNode: 0.002113/0.145384 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, Any, Tuple{Symbol, Symbol}, NamedTuple{(:match, :on), Tuple{DataFrame, String}}}, ::typeof(pt), ::DataFrame, ::PartitionType) with 8 direct children
InferenceTimingNode: 0.005611/0.106553 on Banyan.var"#pt#214"(::Base.Pairs, ::typeof(pt), ::Future, ::Banyan.PartitionTypeComposition) with 11 direct children
InferenceTimingNode: 0.002113/0.027297 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, ::typeof(pt), ::DataFrame, ::Vector{PartitionType}) with 5 direct children
InferenceTimingNode: 0.001766/0.002103 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, Any, Tuple{Symbol, Symbol}, NamedTuple{(:match, :on), Tuple{DataFrame, Vector{String}}}}, ::typeof(pt), ::DataFrame, ::PartitionType) with 3 direct children
InferenceTimingNode: 0.010461/0.362331 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, Any, Tuple{Symbol, Symbol}, NamedTuple{(:match, :on), Tuple{DataFrame, String}}}, ::typeof(pt), ::DataFrame, ::AbstractFuture) with 30 direct children
InferenceTimingNode: 0.005548/0.036449 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, Any, Tuple{Symbol, Symbol}, NamedTuple{(:match, :on), Tuple{DataFrame, String}}}, ::typeof(pt), ::DataFrame, ::Banyan.PartitionTypeComposition) with 7 direct children
InferenceTimingNode: 0.001690/0.031525 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, Any, Tuple{Symbol, Symbol}, NamedTuple{(:match, :on), Tuple{DataFrame, String}}}, ::typeof(pt), ::DataFrame, ::Vector) with 5 direct children
InferenceTimingNode: 0.008176/0.009496 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, Any, Tuple{Symbol, Symbol}, NamedTuple{(:match, :on), Tuple{DataFrame, Vector{String}}}}, ::typeof(pt), ::DataFrame, ::AbstractFuture) with 10 direct children
InferenceTimingNode: 0.005053/0.005053 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, Any, Tuple{Symbol, Symbol}, NamedTuple{(:match, :on), Tuple{DataFrame, Vector{String}}}}, ::typeof(pt), ::DataFrame, ::Banyan.PartitionTypeComposition) with 0 direct children
InferenceTimingNode: 0.001352/0.001352 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, Any, Tuple{Symbol, Symbol}, NamedTuple{(:match, :on), Tuple{DataFrame, Vector{String}}}}, ::typeof(pt), ::DataFrame, ::Vector) with 0 direct children
InferenceTimingNode: 0.009548/0.044886 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, Any, Tuple{Symbol, Symbol}, NamedTuple{(:match, :on), Tuple{DataFrame, String}}}, ::typeof(pt), ::DataFrame, ::Vararg{Union{AbstractFuture, PartitionType, Banyan.PartitionTypeComposition, Vector}}) with 19 direct children
InferenceTimingNode: 0.009624/0.044412 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, Any, Tuple{Symbol, Symbol}, NamedTuple{(:match, :on), Tuple{DataFrame, String}}}, ::typeof(pt), ::Future, ::Vararg{Union{AbstractFuture, PartitionType, Banyan.PartitionTypeComposition, Vector}}) with 19 direct children
InferenceTimingNode: 0.007820/0.016963 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, ::typeof(pt), ::DataFrame, ::Vararg{Union{AbstractFuture, PartitionType, Banyan.PartitionTypeComposition, Vector}}) with 9 direct children
InferenceTimingNode: 0.007758/0.016644 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, ::typeof(pt), ::Future, ::Vararg{Union{AbstractFuture, PartitionType, Banyan.PartitionTypeComposition, Vector}}) with 8 direct children
InferenceTimingNode: 0.009723/0.020603 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, Any, Tuple{Symbol, Symbol}, NamedTuple{(:match, :on), Tuple{DataFrame, Vector{String}}}}, ::typeof(pt), ::DataFrame, ::Vararg{Union{AbstractFuture, PartitionType, Banyan.PartitionTypeComposition, Vector}}) with 16 direct children
InferenceTimingNode: 0.009555/0.020691 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, Any, Tuple{Symbol, Symbol}, NamedTuple{(:match, :on), Tuple{DataFrame, Vector{String}}}}, ::typeof(pt), ::Future, ::Vararg{Union{AbstractFuture, PartitionType, Banyan.PartitionTypeComposition, Vector}}) with 16 direct children
InferenceTimingNode: 0.007843/0.040927 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, ::typeof(pt), ::GroupedDataFrame, ::Vararg{Union{AbstractFuture, PartitionType, Banyan.PartitionTypeComposition, Vector}}) with 11 direct children
InferenceTimingNode: 0.002056/0.031967 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, ::typeof(pt), ::Union{AbstractFuture, PartitionType, Banyan.PartitionTypeComposition, Vector}, ::Union{AbstractFuture, PartitionType, Banyan.PartitionTypeComposition, Vector}, ::Union{AbstractFuture, PartitionType, Banyan.PartitionTypeComposition, Vector}, ::Union{AbstractFuture, PartitionType, Banyan.PartitionTypeComposition, Vector}, ::Union{AbstractFuture, PartitionType, Banyan.PartitionTypeComposition, Vector}, ::Union{AbstractFuture, PartitionType, Banyan.PartitionTypeComposition, Vector}, ::Union{AbstractFuture, PartitionType, Banyan.PartitionTypeComposition, Vector}, ::Union{AbstractFuture, PartitionType, Banyan.PartitionTypeComposition, Vector}, ::Vector{PartitionType}) with 9 direct children
InferenceTimingNode: 0.002337/0.008347 on Banyan.var"#pt#214"(::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, ::typeof(pt), ::Future, ::Vector{PartitionType}) with 9 direct children
Should I be using @nospecialize
in some way on these args...
and kwargs...
?