Skip to content

Invalidations tracker #1174

@mkitti

Description

@mkitti
(invalidations) pkg> st
Status `~/.julia/dev/HDF5/invalidations/Project.toml`
  [f67ccb44] HDF5 v0.17.1 `..`
  [08abe8d2] PrettyTables v2.4.0
  [aa65fe97] SnoopCompile v3.0.1
  [e2b509da] SnoopCompileCore v3.0.0

julia> using SnoopCompileCore

julia> invalidations = @snoop_invalidations using HDF5;

julia> using SnoopCompile

julia> trees = invalidation_trees(invalidations)
2-element Vector{SnoopCompile.MethodInvalidations}:
 inserting convert(::Type{I}, ::Type{F}) where {I<:Integer, F<:Filter} @ HDF5.Filters ~/.julia/dev/HDF5/src/filters/filters.jl:428 invalidated:
   mt_backedges: 1: signature Tuple{typeof(convert), Type{Bool}, Type} triggered MethodInstance for setindex!(::BitArray, ::Type, ::Int64) (1 children)
                 2: signature Tuple{typeof(convert), Type{Bool}, DataType} triggered MethodInstance for setindex!(::BitVector, ::DataType, ::Int64) (1 children)
                 3: signature Tuple{typeof(convert), Type{Bool}, Type{<:Function}} triggered MethodInstance for setindex!(::BitVector, ::Type{<:Function}, ::Int64) (7 children)

 inserting keys(attrdict::HDF5.AttributeDict) @ HDF5 ~/.julia/dev/HDF5/src/attributes.jl:364 invalidated:
   backedges: 1: superseding keys(a::AbstractDict) @ Base abstractdict.jl:107 with MethodInstance for keys(::AbstractDict{<:AbstractString}) (33 children)


julia> using PrettyTables

julia> report_invalidations(; invalidations)
[ Info: 40 methods invalidated for 2 functions
┌─────────────────────────────────────────────────────────┬───────────────┬───────────────┬─────────────────┐
│ <file name>:<line number>                               │ Function Name │ Invalidations │ Invalidations % │
│                                                         │               │               │     (xᵢ/∑x)     │
├─────────────────────────────────────────────────────────┼───────────────┼───────────────┼─────────────────┤
│ /home/mkitti/.julia/dev/HDF5/src/attributes.jl:364      │     keys      │      3379        │
│ /home/mkitti/.julia/dev/HDF5/src/filters/filters.jl:428 │    convert    │       921        │
└─────────────────────────────────────────────────────────┴───────────────┴───────────────┴─────────────────┘

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions