Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

ICC so slowly.what's wrong?

allentern
Beginner
931 Views

A relatively large project with more than 400 cpps, I choosed Full Optimization (/Ox),ICC 10.1 spent 6 hours has not compiled End..

In the Task Manager: mcpcom.exe
CPU:12
MEM:415,688 K
Virtual memory:1,504,492 K
I/O read:171,433
I/O read bytes: 198,177,304,418//near 200G
I/O write bytes: 1,465,324

my computer: Intel Core2 1.83G, 1G DDR.windows xp sp2, visual studio 2005, icc 10.1 eval.

in vs2005, have some messages in output box, like this:

"Compiling with Intel C++ 10.1.013 [IA-32]... (Intel C++ Environment)
...

1>Linking... (Intel C++ Environment)
1>ipo: remark #11000: performing multi-file optimizations
1>ipo: remark #11005: generating object file ipo_27206obj.obj
1>ipo-1: remark #11004: starting multi-object compilation
1>ipo-1: remark #11005: generating object file ipo_27206obj1.obj
1>ipo-1: warning #11051: disabling user-directed function packaging (COMDATs)
...
1>..FOSourceFOPToolBarButton.cpp(154): (col. 41) remark: BLOCK WAS VECTORIZED.
1>..FOSourceFOPathShape.cpp(2888): (col. 2) remark: LOOP WAS VECTORIZED.
1>..FOSourceFOPathShape.cpp(2791): (col. 2) remark: LOOP WAS VECTORIZED.
1>..FOSourceFOImageGIF.cpp(366): (col. 3) remark: PARTIAL LOOP WAS VECTORIZED.
1>..FOSourceFOImageGIF.cpp(366): (col. 3) remark: PARTIAL LOOP WAS VECTORIZED.
1>ipo-2: remark #11004: starting multi-object compilation
1>ipo-2: remark #11005: generating object file ipo_27206obj2.obj
1>ipo-2: warning #11051: disabling user-directed function packaging (COMDATs)
1>..FOSourceFODrawHelper.cpp(7392): (col. 2) remark: LOOP WAS VECTORIZED.
1>..FOSourceFODrawHelper.cpp(9448): (col. 3) remark: LOOP WAS VECTORIZED.
1>ipo-3: remark #11004: starting multi-object compilation
1>ipo-3: remark #11005: generating object file ipo_27206obj3.obj
1>ipo-3: warning #11051: disabling user-directed function packaging (COMDATs)
..."

The compiling ended in20 minutes and then start Linking,

each "ipo:" needed one hour, ,,
every 1 or 2 hour create an OBJ like "ipo_xxxxxobjx.obj", exp ipo_27206obj1.obj.

What is the reason for this? Thank you.

0 Kudos
8 Replies
support1
Beginner
931 Views
I have same problem and, so far, haven't found any resolution:

http://softwarecommunity.intel.com/isn/Community/en-US/forums/permalink/30242432/30241698/ShowThread.aspx#30241698

How long does it take VC8 to build the same project?

Andre
0 Kudos
allentern
Beginner
931 Views

Debug Win32
VC8:4min20sec
ICC:16min40sec/0d

allen

0 Kudos
support1
Beginner
931 Views
Thank you, Allen. Can you quote build time for a release build as well? Optimization increases build time quite a bit and I'd be curious to see if your numbers are close to mine.

Andre
0 Kudos
Dale_S_Intel
Employee
931 Views
There's a couple things you can try. First thing I would do is try -O2 instead of -Ox, and be sure that -ipo is disabled. If that doesn't work, it would be interesting to see how long -Od takes.

Of course, ideally if you could submit a bug at premier.intel.com and provide a test case, we could look at it in more detail. If you still see a long compile time at -O2, then submitting a single .cpp file example (actually a .i file) would be helpful for us to analyze the problem.

Dale
0 Kudos
JenniferJ
Moderator
931 Views

IPO is turned on by /GL in release config. /GL is on by default.

IPO could help a lot on optimization. Another work around is to use the new option "/Qipo-jobs4". It should speed up the linking.

Jennifer

0 Kudos
Kuhlmann__Lionel
Beginner
931 Views
I had some problems building an application as well. It is very slow, but worse, it does not even compile!

I found the ipo is the problem. It seems like the /Qipo is defaults to ON using version 10.x.

I found it useful to use the option /Qipo-, effectively turning OFF the ipo option (even though this is not mentioned in the documentation (main_cls.chm). This first of all makes my program compile, but also cuts down the compile time.

-Lionel
0 Kudos
TimP
Honored Contributor III
931 Views
No, /Qipo isn't a default, although it is included in /Ox and /fast.
0 Kudos
JenniferJ
Moderator
931 Views

/GL is the same as /Qipo. It's the default option in the "Release" config of VC Projects.

If you're building from command window, /Qipo is not On by default. But Tim is right about /Ox and /fast switches.

We're working on some compile-time issues. If you could submit an issue report to PremierSupport with your testcase, it would be great. PremierSupport is a secure site.

Thanks!

0 Kudos
Reply