Signal Studio is in public beta. Usable, but still moving. Join the beta

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

MontageChannelsSampling rateDuration
EEG 32 ch32512 Hz10 min
EEG 64 ch641024 Hz10 min
EEG 256 ch2561024 Hz10 min
iEEG 144 ch1442048 Hz20 min

Per card

CardEEG 32 chEEG 64 chEEG 256 chiEEG 144 ch
High Pass0.4 s0.8 s3.6 s4.9 s
Band Pass0.5 s1.1 s4.4 s6.1 s
Notch0.6 s1.3 s5.2 s7.0 s
Common Average Reference0.2 s0.3 s1.4 s1.9 s
Bipolar Reference0.2 s0.3 s1.2 s1.7 s
Epoch0.3 s0.5 s2.1 s3.4 s
Reject by Variance0.3 s0.6 s2.6 s3.8 s
Crowther Artefact Removal1.1 s2.2 s9.4 s12.8 s
Morse Wavelet
60 frequency bins. Time and memory scale with bins times channels times samples.
12.4 s26.8 s118.0 s164.0 s
N1 N2 Peaks0.4 s0.7 s2.9 s4.0 s
FDR Correction0.1 s0.1 s0.3 s0.3 s

Complete pipelines

PipelineEEG 32 chEEG 64 chEEG 256 chiEEG 144 ch
CCEP to SOZ
Full pipeline, wavelet included.
---214.0 s
Standard preprocessing1.8 s3.6 s15.9 s21.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.