ICA on very long EEG

as the ICA solvers you are using are processing time instants as independent data points you can subsample (eg take one every 10 samples). This is a better idea that taking only a window of data as you may miss some sources that are appearing later in the recording.

Also if it's still too slow you can try our faster ICA solver called PICARD: https://pierreablin.github.io/picard/ You can find a matlab implementation at:

it's already available via EEGLAB.

You can have a look at speed comparisons with fastica at:

https://pierreablin.github.io/picard/auto_examples/plot_faces_decomposition.html#sphx-glr-auto-examples-plot-faces-decomposition-py

note that PICARD is based on the same ICA principles as Infomax or FastICA (namely non-Gaussianity). It just uses a faster quasi-Newton solver to compute the parameters.

References if you are curious:

[1] Pierre Ablin, Jean-Francois Cardoso, and Alexandre Gramfort “Faster independent component analysis by preconditioning with Hessian approximations” IEEE Transactions on Signal Processing, 2018, https://arxiv.org/abs/1706.08171

[2] Pierre Ablin, Jean-Francois Cardoso, and Alexandre Gramfort “Faster ICA under orthogonal constraint” ICASSP, 2018, https://arxiv.org/abs/1711.10873