Skip to content

Precompile the convolution and filtering paths - #666

Draft
pankgeorg wants to merge 1 commit into
JuliaDSP:masterfrom
pankgeorg:precompile-workload
Draft

pankgeorg wants to merge 1 commit into
JuliaDSP:masterfrom
pankgeorg:precompile-workload

Conversation

@pankgeorg

@pankgeorg pankgeorg commented Aug 31, 2026 •

Copy link
Copy Markdown

conv specializes per element type, dimensionality and algorithm, so a test suite or first real use pays for compiling each combination at runtime (the overlap-save edge kernels alone are ~24 method instances). This adds a small PrecompileTools workload covering (Float64, Float32, ComplexF64) × 1/2/3-d × (:direct, :fft_simple, :fft_overlapsave) plus filt.
Measured on aarch64, Julia 1.12: a cold run of test/dsp.jl under Pkg.test flags drops from 222 s to 209 s (warm runs unchanged); the runtime-compiled unsafe_conv_kern_os_edge! instances go from 24 to 0. Package precompile grows by a few seconds, paid once.
Tested: full test suite passes with the workload in place.

conv specializes per element type, dimensionality and algorithm; a test
suite or first real use pays for compiling each combination (the
overlap-save edge kernels alone are ~24 method instances). A small
PrecompileTools workload covers (Float64, Float32, ComplexF64) x 1/2/3-d
x (:direct, :fft_simple, :fft_overlapsave) plus filt.
@codecov

codecov Bot commented Aug 31, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.00%. Comparing base (7c79875) to head (d9847bb).

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #666      +/-   ##
==========================================
+ Coverage   97.98%   98.00%   +0.01%     
==========================================
  Files          19       20       +1     
  Lines        3332     3354      +22     
==========================================
+ Hits         3265     3287      +22     
  Misses         67       67              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@pankgeorg
pankgeorg marked this pull request as draft August 31, 2026 10:16

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant