https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82567
Bug ID: 82567 Summary: [6/7/8] gfortran takes a long time to compile a simple implied-do with -Optimization. Product: gcc Version: 6.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: chinoune.mehdi at hotmail dot com Target Milestone: --- gfortran takes about 11s to compile this simple subroutine with -O1 : SUBROUTINE sub() IMPLICIT NONE INTEGER, PARAMETER :: n = 10000 REAL, ALLOCATABLE :: x(:) REAL :: xc, h INTEGER :: i ALLOCATE( x(n) ) xc = 100. h = xc/n x = h*[(i,i=1,n)] ! Replacing the previous line with one of these lines gives faster compilation ! x = [(i*h,i=1,n)] ! x = (100./n) *[(i,i=1,n)] END SUBROUTINE sub time gfortran -O1 -c test.f90: real 0m11.167s the time increases with n (-O1) : n | 10000 | 20000 | 30000 | 40000 ------------------------------------- time | 11s | 25s | 43s | 1m7s and decrease with the level of optimization (n=20000) : -Ox | -O1 | -O2 | -O3 | -Ofast ------------------------------- time | 20s | 15s | 15s | 8s tested with gfortran 6/7/8 Linux-64 and gfortran-7 MinGW-64