JuliaApproximation / ApproxFunBase.jl

Core functionality of ApproxFun
MIT License
12 stars 13 forks source link

BandedMatrix for view of ConstantOperator #476

Closed jishnub closed 1 year ago

jishnub commented 1 year ago

This provides a performance boost, and will be much faster once BandedMatrices is patched.

julia> Cop = Operator(1.0I) : Chebyshev();

julia> @btime $Cop[1:100, 1:100];
  554.956 ns (2 allocations: 944 bytes) # PR
  620.203 ns (2 allocations: 944 bytes) # master
codecov[bot] commented 1 year ago

Codecov Report

Patch coverage: 88.94% and project coverage change: -1.84 :warning:

Comparison is base (2f401fa) 71.22% compared to head (26d14b5) 69.39%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #476 +/- ## ========================================== - Coverage 71.22% 69.39% -1.84% ========================================== Files 80 81 +1 Lines 8331 8462 +131 ========================================== - Hits 5934 5872 -62 - Misses 2397 2590 +193 ``` | [Impacted Files](https://app.codecov.io/gh/JuliaApproximation/ApproxFunBase.jl/pull/476?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaApproximation) | Coverage Δ | | |---|---|---| | [src/ApproxFunBase.jl](https://app.codecov.io/gh/JuliaApproximation/ApproxFunBase.jl/pull/476?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaApproximation#diff-c3JjL0FwcHJveEZ1bkJhc2Uuamw=) | `84.00% <ø> (+0.66%)` | :arrow_up: | | [src/LinearAlgebra/blas.jl](https://app.codecov.io/gh/JuliaApproximation/ApproxFunBase.jl/pull/476?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaApproximation#diff-c3JjL0xpbmVhckFsZ2VicmEvYmxhcy5qbA==) | `77.77% <ø> (ø)` | | | [src/Spaces/Spaces.jl](https://app.codecov.io/gh/JuliaApproximation/ApproxFunBase.jl/pull/476?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaApproximation#diff-c3JjL1NwYWNlcy9TcGFjZXMuamw=) | `45.23% <ø> (-21.83%)` | :arrow_down: | | [src/Spaces/SumSpace.jl](https://app.codecov.io/gh/JuliaApproximation/ApproxFunBase.jl/pull/476?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaApproximation#diff-c3JjL1NwYWNlcy9TdW1TcGFjZS5qbA==) | `68.01% <33.33%> (-1.66%)` | :arrow_down: | | [src/show.jl](https://app.codecov.io/gh/JuliaApproximation/ApproxFunBase.jl/pull/476?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaApproximation#diff-c3JjL3Nob3cuamw=) | `88.59% <78.04%> (+5.76%)` | :arrow_up: | | [src/Operators/banded/CalculusOperator.jl](https://app.codecov.io/gh/JuliaApproximation/ApproxFunBase.jl/pull/476?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaApproximation#diff-c3JjL09wZXJhdG9ycy9iYW5kZWQvQ2FsY3VsdXNPcGVyYXRvci5qbA==) | `74.59% <80.64%> (+0.02%)` | :arrow_up: | | [src/Operators/functionals/CalculusFunctional.jl](https://app.codecov.io/gh/JuliaApproximation/ApproxFunBase.jl/pull/476?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaApproximation#diff-c3JjL09wZXJhdG9ycy9mdW5jdGlvbmFscy9DYWxjdWx1c0Z1bmN0aW9uYWwuamw=) | `79.48% <86.66%> (+7.07%)` | :arrow_up: | | [src/eigen.jl](https://app.codecov.io/gh/JuliaApproximation/ApproxFunBase.jl/pull/476?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaApproximation#diff-c3JjL2VpZ2VuLmps) | `96.42% <96.42%> (ø)` | | | [src/Operators/Operator.jl](https://app.codecov.io/gh/JuliaApproximation/ApproxFunBase.jl/pull/476?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaApproximation#diff-c3JjL09wZXJhdG9ycy9PcGVyYXRvci5qbA==) | `69.69% <100.00%> (+2.12%)` | :arrow_up: | | [src/Operators/banded/ConstantOperator.jl](https://app.codecov.io/gh/JuliaApproximation/ApproxFunBase.jl/pull/476?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaApproximation#diff-c3JjL09wZXJhdG9ycy9iYW5kZWQvQ29uc3RhbnRPcGVyYXRvci5qbA==) | `80.00% <100.00%> (+1.68%)` | :arrow_up: | | ... and [2 more](https://app.codecov.io/gh/JuliaApproximation/ApproxFunBase.jl/pull/476?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaApproximation) | | ... and [49 files with indirect coverage changes](https://app.codecov.io/gh/JuliaApproximation/ApproxFunBase.jl/pull/476/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaApproximation)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.