Skip to content

Reduce number of dependencies #44

@sethaxen

Description

@sethaxen

@ParadaCarleton and I discussed trying to slim down the package to make it a more lightweight dependency. Currently on my machine this package loads in 5s, vs 5ms with https://github.com/arviz-devs/PSIS.jl, which only depends on standard library packages.

The two reasons to add dependencies are 1) convenience and 2) performance. In my view, features like pretty-printed results are not worth the extra load time if a package can be light-weight, or they can be made conditional dependencies.

For performance, we discussed that Tullio+LoopVectorization may be unnecessary, as PSIS.jl is much faster than ParetoSmooth.jl for vectors and only 20% slower than ParetoSmooth.jl for arrays (if PSIS.jl uses the @threads macro like ParetoSmooth.jl does). If removing then only causes a ~20% decrease in performance but decreases load time significantly, this seems acceptable.

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