La forma más rápida de copiar algunas filas de una matriz a otra en OpenCV

Tengo una matriz [32678 x 10] (w2c) y quiero copiar 24700 filas en otra matriz (out) Tengo el índice de las filas que se copiarán en un vector (index) Para hacer esto en matlab hago:

out = w2c(index_im,:);

Tarda aproximadamente 0.002622 segundos.

En OpenCV:

Mat out(index.cols, w2c.cols, w2c.type());
for (int i = 0; i < index.cols; ++i) {
    w2c.row(index.at<int>(i) - 1).copyTo(out.row(i));
}

Tarda aproximadamente 0.015121 segundos.

Como puede ver, Matlab es 6 veces más rápido. ¿Cómo puedo hacer que el código OpenCV sea eficiente?

Estoy usando cmake-2.9, g ++ - 4.8, opencv-2.4.9, ubuntu 14.04

ACTUALIZAR:

Ejecuté mi código en modo de lanzamiento, aquí está el resultado (todavía es significativamente más lento que Matlab)

RELEASE     DEBUG       MATLAB
0.008183    0.010070    0.001604    
0.009630    0.010050    0.001679
0.009120    0.009890    0.001566
0.007534    0.009567    0.001635
0.007886    0.009886    0.001840

Respuestas a la pregunta(2)

Su respuesta a la pregunta