@ogrisel 

here come my temporal benchmarks:
``` 
In [8]: timeit np.dot(W, X.T)
1 loops, best of 3: 7.24 s per loop

In [9]: timeit fast_dot(W, X.T)
1 loops, best of 3: 5.39 s per loop

```