@ogrisel you can execute these lines and comment out one of the dots
while watching your memory / use a memory profiler

```Python
import numpy as np
n_samples = 1e6 / 2
rng = np.random.RandomState(42)
W = rng.random_sample([250, 250])
X = rng.random_sample([n_samples, 250])

print 'estimated data size in memory'
print '%i MB' % (X.size * X.itemsize / 1e6)
print '%s' % X.dtype

from sklearn.utils.extmath import fast_dot

# np.dot(W, X.T)

fast_dot(W, X.T)

```