I would add: Not all models benefit from optimized BLAS and Lapack implementations. For instance models based on (randomized) decision trees typically do not rely on BLAS calls in their inner loops. So do models implemented in third party C++ library (like LinearSVC, LogisticRegression from liblinear and SVC / SVR from libsvm).

On the other hand linear model implemented with a BLAS DGEMM call (via `numpy.dot`) will typically benefit hugely from a tuned BLAS implementation and lead to orders of magnitude speedup over a non-optimized BLAS.

You can display the BLAS / LAPACK implementation used by your NumPy / SciPy / scikit-learn install with the following Python snippet::

    from numpy.distutils.system_info import get_info
    print(get_info('blas_opt'))
    print(get_info('lapack_opt'))

Or from the system console directly::

    $ python -c "numpy.distutils.system_info import get_info; print(get_info('blas_opt'))"