- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Compiling, with v12 very slow (around 20 times slower than with v11.1). Is it normal or am I missing something ?
(v12 update 1 or 2 are not faster)
Regards
Link Copied
10 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
RAM and maybe stack usage seem to have increased, although I haven't seen a scientific comparison. It might put you "over the edge" in certain specific situations. If it's of sufficient concern to you, and not the result of insufficient RAM for the task at hand, you might consider submitting your case on premier.intel.com.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I noticed moving from CVF to 11.1, it does compile slightly slower. The big difference is if there are AUTOMATIC statements, this seems to grab a GB or so of working set. If you are running in a small memory environment (e.g. in a small VM) then it can easily take 20 minutes(!) to compile something with many AUTOMATICs. With 2GB of memory, it goes back down to a few seconds.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If you have an example source we can try compiling, we'd appreciate it.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I apologize for hijacking a thread, however it might be related. It goes to show that there can be subtle differences between compilers when compiling large programs.
While pursuing a minimal faulty program, I found the problem was not AUTOMATIC, it just happened to occur only in a module with by far the most AUTOMATICs. Here is the offending line:
CHARACTER*4763 ZOUTLINE (7220)/7220*' '/
You can give me a dozen reasons why this is awful code. The problem, such as it is, only shows up in a VM image with less then a GB of memory, then it takes about 20 minutes to compile. With 2GB of memory, even this garbage takes only a couple of seconds to compile.
Same behavior with 11.1 and XE2011, in IA-32 mode. The VM OS is 32-bit XP.
While pursuing a minimal faulty program, I found the problem was not AUTOMATIC, it just happened to occur only in a module with by far the most AUTOMATICs. Here is the offending line:
CHARACTER*4763 ZOUTLINE (7220)/7220*' '/
You can give me a dozen reasons why this is awful code. The problem, such as it is, only shows up in a VM image with less then a GB of memory, then it takes about 20 minutes to compile. With 2GB of memory, even this garbage takes only a couple of seconds to compile.
Same behavior with 11.1 and XE2011, in IA-32 mode. The VM OS is 32-bit XP.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What happens when you take the initialization off the statement (and initialize/wipe at program startup)?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
An alternative is to place ZOUTLINE in a module (by itself), then if it compiles slow, it does so only once.
Jim Dempsey
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes it is the init that takes the time. The fix is trivial - use a computer with at least 2GB of memory. I am not suggesting this is a compiler issue that needs fixing. It is an example of how an unusual construct slipped into legacy code can make a large performance difference between compilers.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The problem with large initializations is that the compiler has to map out the data as it will appear and then write object code to do the initialization. Unlike some operating systems, the Microsoft object language doesn't have repeat counts or other things that would help compress this information.
We are aware that large initializations can take a lot of compile time. We've made some significant improvements in version 11.1, and continue to work on this.
Again, I would like to ask for an example source that compiles much slower in 12.0 than in 11.1.
We are aware that large initializations can take a lot of compile time. We've made some significant improvements in version 11.1, and continue to work on this.
Again, I would like to ask for an example source that compiles much slower in 12.0 than in 11.1.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the answers, any sources compiled very slowly, with every compilation options I tried (for instance, the attached file takes around 12s to compile with v12.154).
My collegues which also where using v12 (also on windows xp) did not encountered this problem on the same sources.
Yesterday, I updated to v12.175 and it seems that it corrects the problem, everything compile now as quickly as v11.1. (The attached file compiles within less than 1 seconds)
Regards
My collegues which also where using v12 (also on windows xp) did not encountered this problem on the same sources.
Yesterday, I updated to v12.175 and it seems that it corrects the problem, everything compile now as quickly as v11.1. (The attached file compiles within less than 1 seconds)
Regards
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok - thanks. Since Update 3 seems to solve the problem for you, I think we'll declare success.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page