Re: [Boost-users] Meta Template Programming with MPL - Compiler B ug or is the code really so evil slow?

-----Original Message----- From: Vinzenz 'evilissimo' Feenstra [mailto:evilissimo@web.de] Sent: 13 February 2006 12:40 To: boost-users@lists.boost.org Subject: [Boost-users] Meta Template Programming with MPL - Compiler Bug or is the code really so evil slow?
Hi,
I've written a little Meta Template Program which should calculate the first 3 perfect numbers. ( range 1 - 500 )
The code is compilable if you use the range 1 - 30 really fast and works correctly. But I've tried to compile the code but I can't get it finished.
Someone tried it on a Machine with 40 GB RAM and it now compiles for more than 12 hours and uses more than 7.1 GB RAM ( the compilation )
I've tried it by myself with g++ 3.4.x and g++ 4.0.x and with VC++ 7.1
The code works on all tested compilers if the range would be 1 - 30 but
If the range is 1 - 500 VC++ says:
d:\boost\vc71\include\boost-1_33_1\boost\mpl\aux_\preprocessed \plain\apply_wrap.hpp(48): fatal error C1204: compiler limit: internal structure overflow.
( This seems to be a known bug in VC++ http://support.microsoft.com/default.aspx?scid=kb;en-us;883655 )
and g++ compiles and compiles and uses more and more RAM.
Is the code really so evil slow or is it a compiler Bug in g++?
Maybe anyone has an answer.
BR evilissimo
Apologies wrt saying code snippet ws not present - have got it now, but comments on recursion still apply. James
participants (1)
-
James Hughes