diff options
| -rw-r--r-- | TODO.md | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -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) |
