BOOST uBLAS producto de matriz extremadamente lento

Existe alguna manera de mejorar el rendimiento del producto ublas?

Tengo dos matrices A, B que quiero mulitply / add / sub /..

En MATLAB vs. C ++ obtengo los siguientes tiempos [s] para una matriz 2000x2000 Operaciones

OPERATION | MATLAB | C++ (MSVC10)
A + B     |  0.04  |  0.04
A - B     |  0.04  |  0.04
AB        |  1.0   | 62.66
A'B'      |  1.0   | 54.35

¿Por qué hay una pérdida de rendimiento tan grande aquí?

Las matrices son solo dobles reales. Pero también necesito productos positivos definidos, simétricos y rectangulares.

EDIT: el código es trivial

matrix<double> A( 2000 , 2000 );
// Fill Matrix A
matrix<double> B = A;

C = A + B;
D = A - B;
E = prod(A,B);
F = prod(trans(A),trans(B));

EDIT 2: Los resultados son valores medios de 10 intentos. El stddev fue inferior a 0.005

Esperaría un factor 2-3 tal vez pero no 50 (!)

EDIT 3: todo se realizó en el modo Release (NDEBUG / MOVE_SEMANTICS / ..).

EDIT 4: las matrices preasignadas para los resultados del producto no afectaron el tiempo de ejecución.

Respuestas a la pregunta(4)

Su respuesta a la pregunta