Benchmarks
How long each card takes, by montage size. Measured, not estimated, on one machine, so treat these as ratios rather than promises about your own hardware.
AMD Ryzen 9 5900X, 12 cores, 64 GB RAM,
Windows 11, Python 3.12.
No GPU used. Times are wall clock, median of five runs.
The test recordings
| Montage | Channels | Sampling rate | Duration |
|---|---|---|---|
| EEG 32 ch | 32 | 512 Hz | 10 min |
| EEG 64 ch | 64 | 1024 Hz | 10 min |
| EEG 256 ch | 256 | 1024 Hz | 10 min |
| iEEG 144 ch | 144 | 2048 Hz | 20 min |
Per card
| Card | EEG 32 ch | EEG 64 ch | EEG 256 ch | iEEG 144 ch |
|---|---|---|---|---|
| High Pass | 0.4 s | 0.8 s | 3.6 s | 4.9 s |
| Band Pass | 0.5 s | 1.1 s | 4.4 s | 6.1 s |
| Notch | 0.6 s | 1.3 s | 5.2 s | 7.0 s |
| Common Average Reference | 0.2 s | 0.3 s | 1.4 s | 1.9 s |
| Bipolar Reference | 0.2 s | 0.3 s | 1.2 s | 1.7 s |
| Epoch | 0.3 s | 0.5 s | 2.1 s | 3.4 s |
| Reject by Variance | 0.3 s | 0.6 s | 2.6 s | 3.8 s |
| Crowther Artefact Removal | 1.1 s | 2.2 s | 9.4 s | 12.8 s |
| Morse Wavelet 60 frequency bins. Time and memory scale with bins times channels times samples. | 12.4 s | 26.8 s | 118.0 s | 164.0 s |
| N1 N2 Peaks | 0.4 s | 0.7 s | 2.9 s | 4.0 s |
| FDR Correction | 0.1 s | 0.1 s | 0.3 s | 0.3 s |
Complete pipelines
| Pipeline | EEG 32 ch | EEG 64 ch | EEG 256 ch | iEEG 144 ch |
|---|---|---|---|---|
| CCEP to SOZ Full pipeline, wavelet included. | - | - | - | 214.0 s |
| Standard preprocessing | 1.8 s | 3.6 s | 15.9 s | 21.0 s |
Reading these numbers
Almost everything scales linearly with channels times samples. Doubling the channel count roughly doubles the time, and so does doubling the sampling rate. The exception is the time-frequency decomposition, where the output is trials times channels times frequencies times samples: reducing the number of frequency bins buys back time and memory faster than anything else you can change.
If a run is taking longer than these numbers suggest, the usual cause is memory pressure rather than computation. See SS-E060.