summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TODO.md20
1 files changed, 20 insertions, 0 deletions
diff --git a/TODO.md b/TODO.md
index 5fcad5d..76a2ba0 100644
--- a/TODO.md
+++ b/TODO.md
@@ -307,6 +307,26 @@ This file tracks prioritized tasks with detailed attack plans.
- **Benefits**: Non-programmers can edit tempo, easier iteration, version control friendly
- **Priority**: Low (current hardcoded approach works, but less flexible)
+- [ ] **Task #67: DCT/FFT Performance Benchmarking**: Add timing measurements to audio tests
+ - **Goal**: Compare performance of different DCT/IDCT implementations
+ - **Location**: Add timing code to `test_dct.cc` or `test_fft.cc`
+ - **Measurements**:
+ - Reference IDCT/FDCT (naive O(N²) implementation)
+ - FFT-based DCT/IDCT (current O(N log N) implementation)
+ - Future x86_64 SIMD-optimized versions (when implemented)
+ - **Output Format**:
+ - Average time per transform (microseconds)
+ - Throughput (transforms per second)
+ - Speedup factor vs reference implementation
+ - **Test Sizes**: DCT_SIZE=512 (production), plus 128, 256, 1024 for scaling analysis
+ - **Implementation**:
+ - Use `std::chrono::high_resolution_clock` for timing
+ - Run each test 1000+ iterations to reduce noise
+ - Report min/avg/max times
+ - Guard with `#if !defined(STRIP_ALL)` to avoid production overhead
+ - **Benefits**: Quantify FFT speedup, validate SIMD optimizations, identify regressions
+ - **Priority**: Very Low (nice-to-have for future optimization work)
+
### Developer Tools
- [ ] **Task #66: External Asset Loading for Debugging**: mmap() asset files instead of embedded data
- **Current**: All assets embedded in `assets_data.cc` (regenerate on every asset change)