Skip to content

Add profiling instrumentation for NAM building blocks#219

Open
jfsantos wants to merge 2 commits intosdatkinson:mainfrom
jfsantos:feature/profiling
Open

Add profiling instrumentation for NAM building blocks#219
jfsantos wants to merge 2 commits intosdatkinson:mainfrom
jfsantos:feature/profiling

Conversation

@jfsantos
Copy link
Contributor

@jfsantos jfsantos commented Feb 6, 2026

Adds a profiling framework (NAM/profiling.h, NAM/profiling.cpp) with NAM_PROFILE_START()/NAM_PROFILE_ADD() macros and 14 timing categories. Supports both desktop (std::chrono) and ARM Cortex-M7 (DWT cycle counter) backends. Profiling is compile-time gated via -DNAM_PROFILING.

Instruments wavenet _Layer::Process() and _LayerArray::ProcessInner() with per-category timing, and adds profiling reset/print calls to the benchmodel tool.

Developed with support and sponsorship from TONE3000

João Felipe Santos and others added 2 commits February 6, 2026 09:33
Adds a profiling framework (NAM/profiling.h, NAM/profiling.cpp) with
NAM_PROFILE_START()/NAM_PROFILE_ADD() macros and 14 timing categories.
Supports both desktop (std::chrono) and ARM Cortex-M7 (DWT cycle counter)
backends. Profiling is compile-time gated via -DNAM_PROFILING.

Instruments wavenet _Layer::Process() and _LayerArray::ProcessInner()
with per-category timing, and adds profiling reset/print calls to the
benchmodel tool.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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