- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I recently upgraded from Intel Fortran Studio XE 2013 SP1 Update 2 to Parallel Studio XE 2015 and am finding that my application now runs quite a bit slower than with the old compiler.
Both versions are being used with Visual Studio 2010 and I have identical source code, identical VS settings and I'm running everything on the same computer. I am compiling a release 64bit version of my application and I'm finding that an example of what took 3 seconds to run now takes 12 seconds. My application involves a mixture of file IO functions and floating point calculations. I can't really tell which of those two components has become slower because they are very much intertwined.
Has anyone else experienced this problem?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Experiment with the I/O buffer size. The default setting for this may have changed.
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I suggest using Intel VTune Amplifier XE to profile both versions and see where the time is being spent.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I ran VTune Amplifier XE and found a couple of slight speed issues, but nothing worth mentioning. I then noticed that my application built as 32bit ran in 3 seconds, whereas the 64bit version was still taking 12 seconds.
I then completely rebuilt my Visual Studio project from scratch, using all default settings and it now works Ok. Hooray!!
It seems that when I upgraded to XE 2015 something happened to my VS settings that caused the slowdown in my 64bit application.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
>>I then completely rebuilt my Visual Studio project from scratch, using all default settings and it now works Ok. Hooray!!
What this sounds like is the dependency checker yielded false-negative for rebuild query of source files. This can occur when you copy project folders from one system to another and for whatever reason the source appears to have a future date than the destination. Generally, it is good practice to perform a Clean whenever you perform a compiler version update (or copy of solution/project from system to system).
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I did try a full clean and rebuild a number of times without success. I can only guess that one of the compiler switches in VS was changed during the compiler upgrade.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I noticed the same behaviour with XE 2015 SP1 in my application. I am using visual studio 2013. I used Vtune to inspect the slow hotspot and Vtune indicated two functions where the program spent a lot of time. The first one is GetProcessTime and mainly WriteFileImplementation both from kernel32.dll.
My program loop over a time period and at each time step it write results two a binary file and at I monitor the time spent by each step. So I tried several optimization using I/O buffering and this did not help. But what is surprising is the perfermance degredation of the WriteFileImplementation compared with XE 2013. Did something changed in the way of writing binary file.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You may want to look at the compiler release notes section about file buffering changes.

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