Slowdown vs VC6++

Slowdown vs VC6++

After recompiling all my C++ code in "Release" mode using the 8.0 compiler for windows, my set of QA test cases now takes more than twice as long vs. Visual C++ 6 compiled code. A bit depressing! I realize the Intel compiler has lots of great optimizations, but surely a the default /O2 should better the creaky old MS compiler!

Where should I start looking for problems? The code is computational C++, with lots of floating point work, but mixed with lots of C++ method calls and template instantiation.

The compiler options passed to the Intel compiler would the default "Maximise Speed" ones from VC++.
Pentium IV , 2Ghz, Windows 2000.

4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Jennifer J. (Intel)'s picture

This is interesting.

Please try "-QxN" and see if the performance is better. Do you have 7.1 version of IntelC? How is the performance with it?

Jennifer

I have done some unit testing to isolate the issue, and it does appear to be isolated to one "library" of mine. I am fiddling with compiler options to see what the issue is.

A telling point is that the intel compiled "Debug" version of this one test runs a lot faster than the intel compiled "Release" verion. Optimizer gone bad, I suspect.

Ihave exact the same problem using 8.0 or 7.1, im working on the ffdshow code (well know dshow video postprocessing filter) and the simple O2 compile runs 30% slower compared to the VC 6.0 version...

I tryed every switch i know, i also run through all the intel tutorial's related to optimization switches...

Maybe the slowdown comes from the libirc.lib? Since i need add those lib for intel_fastmemcpy stuff, mabye some compatibility stuff?

Any hint to get it working? I cant belive old VC6 with O2 is faster than everything ICL 8 can produce....and we talk about 30-50% slower

andy hints/switches i can try to speed it up?

PS: the code has many inline ASM stuff? In gcc i can use __volatile to ensure the code is not moved out of the segment is there something i can do with icl too?

Message Edited by Andy2222 on 02-16-2004 12:19 AM

Login to leave a comment.