Performance comparison for FFT-based correlation of a 1,000,000-sample dataset for variety of computers with different specifications
Here’s a performance comparison for FFT-based correlation of a 1,000,000-sample dataset, using your original reference system (i5-6500, 8GB) and several upgraded configurations, including newer 12th-gen Intel CPUs.
⚙️ Test Overview
We’re estimating time to complete FFT-based cross-correlation (like what we timed above at ~4.78 seconds on a basic system). CPU specs and synthetic benchmarks are used to project relative speeds.
🧪 Estimated Runtime: 1M Sample FFT-Based Correlation
CPU + RAM | Cores/Threads | PassMark (CPU) | Relative Speed | Estimated Time (sec) |
i5-6500 + 8GB | 4 / 4 | ~6,500 | 1.0× (baseline) | ~4.8 s |
i5-8500 + 16GB | 6 / 6 | ~9,800 | 1.5× | ~3.2 s |
i5-12500 + 16GB | 6 / 12 | ~19,500 | ~3.0× | ~1.6 s |
i5-12500 + 32GB | 6 / 12 | ~19,500 | ~3.0× | ~1.6 s (more headroom) |
i7-12500 + 32GB | 8 / 12 | ~21,000 | ~3.2× | ~1.5 s |
🧠 Memory Considerations
- 16GB is sufficient for 1M-sample FFT correlation unless you’re running multiple processes or full interferometry pipelines with real-time plotting.
- 32GB gives headroom for:
- Multiple wideband channels
- Large waterfall plots
- Memory-mapped file access
- GNU Radio in parallel with Python/Matplotlib
📈 Summary
- Upgrading to i5-12500 or i7-12500 roughly triples performance vs i5-6500.
- You can reduce the FFT-based correlation time from ~4.8s to ~1.5s.
- More RAM doesn’t speed up the correlation directly, but avoids disk swapping in larger workloads — especially for multi-channel or long integrations.