Имеется набор программ, которые изначально были написаны с использованием умолчаний при использовании переменных (т.е. если имя переменной начинается на I,J,K,L,M,N, то переменная будет типа INTEGER, если на другие буквы, то REAL). То есть программа: ============= program test ii=5 x1=8.1 write(*,*)ii,x1 end ============ выдаст 5 8.10000 То есть программа быдет эквивалентна такой: ============ program test integer ii real x1 ii=5 x1=8.1 write(*,*)ii,x1 end ============= Так вот при определённых условиях (какие конкретно, не знаю, может набор из них): использование в COMMON-блоках таких переменных, использование таких переменных в функциях и процедурах программа может начать тормозиться до 100 раз даже на строках вида A=B В моей программе цикл вида (X - необъявленная переменная) ============ do l=1,50 do k=1,50 do j=1,50 do i=1,50 if(условие)then x(i,j,k)=выражение, состоящее тольлко из сложения и перемножения элементов массива x end if end do end do end do end do ========= поначалу исполнялся 50мс, а через некоторое время - 5с, причём в дальнейшем время выполнения цикла всё увеличивалось. Всю программу предоставить не могу. После выставления IMPLICIT NONE и принудительного объявления REAL X(50,50,50) замедление цикла прекратилось.
Предлагаю тоже в http://gcc.gnu.org/bugzilla/
Очевидно, неактуально.