Hi,
I was wondering whether global array operations, introduced in f90,
can have a negative impact on performance. Compare:
do i=1, ntheta
r(0,i) = rhub
r(nr+1,i) = rmax
dt(0,i) = 0.0
dft(0,i) = 0.0
dfr(0,i) = 0.0
dt(nr+1,i) = 0.0
dft(nr+1,i) = 0.0
dfr(nr+1,i) = 0.0
end do
with:
r(0,:) = rhub
r(nr+1,:) = rmax
dt(0,:) = 0.0
dft(0,:) = 0.0
dfr(0,:) = 0.0
dt(nr+1,:) = 0.0
dft(nr+1,:) = 0.0
dfr(nr+1,:) = 0.0
I found the execution time of the latter to be higher than the former,
as if many DO loops were executed instead than just one. Why use
global array operations then? Isn't better to stick to old plain DO
loops? Thanks,
regards,
deltaquattro


|