Fortran asignar / desasignar

Tengo la siguiente pregunta: ¿Cuál es la sobrecarga real de las declaraciones de asignación / desasignación en Fortran90 +? Es decir, varias matrices de tamaño mediano se asignan dentro de un bucle, como

do i = 1, 1000
    allocate(tmp(20))
    tmp(1:20) = 1d0
    call foo(tmp)
    deallocate(tmp)
end do 

¿Vale la pena asignar una sola matriz de trabajo en función del tamaño máximo en este caso?

Respuestas a la pregunta(2)

Su respuesta a la pregunta