Skip to content

Feature/resource refactor#41

Merged
lukeweston1234 merged 10 commits intomainfrom
feature/resource-refactor
Apr 6, 2026
Merged

Feature/resource refactor#41
lukeweston1234 merged 10 commits intomainfrom
feature/resource-refactor

Conversation

@lukeweston1234
Copy link
Copy Markdown
Collaborator

A bit of cleanup for shared resources. We now have the following system:

  • Internal shared resources are on a flat, "before-realtime" heap allocated array
  • Delay lines, loopers, etc. use a slice of this array. It is not owned, it is a window into the slice to avoid lifetime polution
  • External samples are a bit more generalized, to a flat Arc<[f32]>, this generalizes a bit better for things like granular synths, wavetables, LUT, etc. Basically anything externally loaded.

Additionally, the flat, more cache friendly structure say a -47% runtime change on the basic stereo delay ;)

This was done for performance, and to prepare the way for various LUT, Granular demos, etc.

Basic stereo delay time: [14.971 µs 14.988 µs 15.006 µs]
change: [-47.528% -47.264% -46.990%] (p = 0.00 < 0.05)
Performance has improved.
Found 6 outliers among 100 measurements (6.00%)
2 (2.00%) low severe
1 (1.00%) low mild
1 (1.00%) high mild
2 (2.00%) high severe

@lukeweston1234 lukeweston1234 merged commit 333b8f2 into main Apr 6, 2026
2 checks passed
@lukeweston1234 lukeweston1234 deleted the feature/resource-refactor branch April 6, 2026 23:13
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