Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Patrik_Jonsson
Beginner
76 Views

12.0.3 slow to the point of hanging

Hi,
I've been working on the blitz++ expression template library, which instantiates a lotof templates,and I've noticed that v12 seems quite a lot slower than v11 in compiling overall. Moreover, in compiling some more complicated test cases, v12 will actually take so long so as to effectively not function: it takes v11.1.046 30s to compile this code, but with 12.0.3 I killed the compilation after 18 hours (!)when it still had not finished. This is not an optimization issue, as it happens regardless of optimization level. The mcpcom process at that point used 33gb of memory, but this is comfortably within the amount of memory on the machine, so it was not swapping.
To reproduce, do:
hg clonehttp://blitz.hg.sourceforge.net:8000/hgroot/blitz/blitz blitz
cd blitz
autoreconf -fiv
./configure
make lib
cd testsuite
make multicomponent
Any ideas what could cause this?
Thanks,
/Patrik
0 Kudos
1 Reply
Patrik_Jonsson
Beginner
76 Views

I think I figured this out. It was because the code had some #pragma forceinline recursive in it, which was not recognized by v11 so had been put in and not removed. When switching to v12 these were recognized and this is what killed the compilation time.
Incidentally, I thought the compiler warned if it doesn't recognize a pragma. At least this is what happens if you do #pragma saoetuh. So it's somewhat deceptive that v11 accepts the pragma but doesn't do anything with it.
Reply