Unusual compilation times between compiler versions

Unusual compilation times between compiler versions

I have a FORTRAN application in which I am experiencing a large difference in compile times between using different versions the Intel FORTRAN compiler. Using 11.1 the compilation takes hours (2-4 on average), using 12.1 the compilation takes minutes (5-10 on average). Both resulting applications behave the same, and deliver the same output. What could be possibly causing the extreme difference in compile time? I understand the may be a very vague questions with many possible answers. I'm just looking for general direction on how to resolve the issue, if possible.

8 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

to make sure I understand, you went from multiple hours to multiple minutes, right?   So, a huge improvement in compile time? 

Does your application have many modules, and do you use the ONLY qualifier on module uses?   Do the modules have common blocks?  Those are the areas where we'd made some signficant compile-time performance improvements in that time frame.


Hi Lorri,

Yes you correct, I am experiencing a huge improvement in compile times with the more recent version of the compiler. There are a large number of common blocks in the code, however I not seeing any use of modules or the ONLY qualifier. It's a bit difficult to tell though, because code is being compiled with Intel Fortran through a third party software.

Do the COMMON blocks have DATA initialization and are large or there's lots of DATA statements?

Retired 12/31/2016

Hi Steve, that is true the COMMON blocks have DATA initializations and there are a large number of DATA statements. Might there be any way of improving the compilation time using the older 11.1 version the Intel compiler?

Hi Larry

If you are interested you can profile compilation time with Xperf tool.For example when you suspect data bound issues you can profile disk I/O readings.Anyway at least you will be given a hotspot(s) which could be helpful in order to understanding where is the bottleneck.

Larry, the only thing I can suggest is to initialize the COMMON with executable code rather than DATA statements. Or, update your compiler.

Retired 12/31/2016

Using your current, slow-to-compile version, at the beginning of the program write the variables that are involved in the DATA statement(s) to an unformatted file and terminate execution as soon as the file has been written. Then, prepare a modified version of your program in which you have removed the DATA statements, and at the the beginning of the program read the unformatted file. Henceforth, use the modified version, as it should get compiled faster.

Leave a Comment

Please sign in to add a comment. Not a member? Join today