Skip to content

perf!: remove per-call allocation from the real FFT - #6

Merged
rossarmstrong merged 1 commit into
mainfrom
development
Jul 30, 2026
Merged

perf!: remove per-call allocation from the real FFT#6
rossarmstrong merged 1 commit into
mainfrom
development

Conversation

@rossarmstrong

Copy link
Copy Markdown
Member

Version 0.2.0. Output samples are byte-identical to 0.1.0.

The real FFT owns its working buffer, allocated once at construction, so neither transform direction allocates per call and Aec::process performs no heap allocation in steady state.

tracing becomes an off-by-default cargo feature. A default build has no tracing dependency and the diagnostic emit sites compile to nothing. A consumer that relies on the events enables features = ["tracing"].

The crate-internal reference canceller and the golden-pair suite that validates the pipeline against it move behind a new internal-tests cargo feature and are excluded from the published package. CI runs both feature configurations.

Documentation. delay_hint_ms records that the offset is measured from the reference frontier the caller's own feeding establishes, and that a hint longer than that offset cancels nothing without reporting an error. feed_reference records the diagnostic for a reference at a rate other than the configured one, and that automatic acquisition needs broadband far-end material.

- The real FFT owns its working buffer, allocated once at construction, so
  neither transform direction allocates per call and Aec::process performs
  no heap allocation in steady state. Output samples are byte-identical
  to 0.1.0.
- tracing becomes an off-by-default cargo feature. A default build has no
  tracing dependency and the diagnostic emit sites compile to nothing. A
  consumer that relies on the events enables features = ["tracing"].
- The crate-internal reference canceller and the golden-pair suite that
  validates the pipeline against it move behind a new internal-tests cargo
  feature and are excluded from the published package. CI runs both feature
  configurations.
- delay_hint_ms documents that the offset is measured from the reference
  frontier the caller's own feeding establishes, and that a hint longer than
  that offset cancels nothing without reporting an error. feed_reference
  documents the diagnostic for a reference at a rate other than the
  configured one, and that automatic acquisition needs broadband far-end
  material.
- Version 0.2.0, with the install line and changelog updated.
@rossarmstrong
rossarmstrong merged commit 68f4be0 into main Jul 30, 2026
16 checks passed
@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Jul 30, 2026
@rossarmstrong
rossarmstrong deleted the development branch July 30, 2026 04:46
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant