To initialize and assign value to arrays in Fortran we do as the following:
Initializing:
real(kind=8):: r(3,4) ... r(:,:) = 0.0_8
what if we use only
real(kind=8):: r(3,4) ... r = 0.0_8
and what if we do as:
real(kind=8):: r(3,4) ... r = 0
also for situation such as:
real(kind=8):: r(3,4), q(3,4), p(30,40) ... q = 0 r = q r = p(1:3,21:24)
we prefer to do as:
real(kind=8):: r(3,4), q(3,4), p(30,40) ... q = 0.0_8 r(:,:) = q(:,:) r(:,:) = p(1:3,21:24)
we are not sure so hope you provide us some reasons for each one you prefer.
Best Answer
For general considerations (including declaration and assignation) about efficiently using arrays in Fortran, I would suggest to read this.
For more precise answer to your question, I did some tests some months ago that may interest you. Here are the results. This is a test on my personnal laptop on Linux Archlinux x86-64, with GNU Fortran (GCC) 4.6.1 20110819 (prerelease) without optimization options.
to
to
to