Matriz bidimensional en el montón, ¿qué versión es más rápida?

double **array = new double* [X];
for (int i=0; i<X; i++)
    array[i] = new double [Y];

array[x][y] = n;

o

double *array = new double [X*Y];

array[x*Y+y] = n;

La segunda versión se crea más rápido, pero el acceso es más rápido en la primera versión (por ejemplo, el procesamiento de imágenes mediante convolución), ¿no es así? ¿O es todo insignificante?

Respuestas a la pregunta(2)

Su respuesta a la pregunta