JuliaArrays / JuliaArrays/FillArrays.jl

Specialize certain operations for Static.jl

Open
#177 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Julia
Stars
187
Forks
41
Avg merge
17h 29m
Merged PRs (30d)
1

Description

Derived from #176 and #104

@dlfivefifty: I would say a better solution may be to just support Fill{StaticInt}, etc.

Taking on Static.jl as a dependency would open up interesting possibilities. For example, we could specialize vcat (related to #140) to get:

vcat(Fill(static(4.2), 5), Fill(static(4.2), 5)) === Fill(static(4.2), 10)

Static.jl is a lightweight dependency on top of FillArrays, load-time impact would probably be minor (needs to be tested, of course):

julia> @time using FillArrays
  0.398913 seconds (764.83 k allocations: 46.937 MiB, 72.11% compilation time)

julia> @time using Static
  0.062017 seconds (93.65 k allocations: 5.420 MiB)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with issues #176, #104, and #140, then inspect the proposed vcat case, Fill{StaticInt}, and Static.jl's load-time figures. Done would require a decided set of specializations plus evidence that the dependency and load-time costs are acceptable.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.