Mam następujące pytanie: Jaki jest rzeczywisty narzut alokacji/deallocate oświadczenia w Fortran90 +? To znaczy, kilka średnich tablice są przydzielane wewnątrz pętli, jakFortran alokować/deallocate
do i = 1, 1000
allocate(tmp(20))
tmp(1:20) = 1d0
call foo(tmp)
deallocate(tmp)
end do
Czy warto przydzielania pojedynczą tablicę pracy na podstawie maksymalnej wielkości w tym przypadku?
To, czy są zauważalne oszczędności, zależy od tego, jak długo trwa "foo". Czy zmiana jest warta? Jest to albo kwestia opinii, albo należy zmierzyć czas pracy na kompilatorze i komputerze. Czy zmiana powoduje, że kod jest mniej czytelny? Jeśli tak, czy warto oszczędzić milisekundy środowiska wykonawczego? sekundy? –