Skip to content

Factor out BenchmarkGroup #390

@LilithHafner

Description

@LilithHafner

BenchmarkGroup is a useful datastructure for organizing hierarchical data that need not be BenchmarkTools.jl specific. It is similarly well-suited to storing benchmark results, test results, statistical conformity results (e.g. for random samplers), performance figures for ML algorithms, etc. For example, if folks are using Chairmarks with AirspeedVelocity, they may want this type without the rest of BenchmarkTools.

Additionally, I suspect that this conceptual and technical separation between benchmarking and handling nested data would make it easier for folks to wrap their heads around how to use BenchmarkGroups. Is this something you're open to & do you think it's a good idea, @willow-ahrens?

I'd imagine the type would be a NestedDict, BenchmarkGroup would be an alias for NestedDict, NestedDicts.jl would live in the JuliaCI or the JuliaCollections organization (or maybe NestedDict would live in DataStructures.jl, but BenchmarkTools doesn't already depend on DataStructures, and I wouldn't want to add a new big dependency). This would not be a breaking change.

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