Horrendous increase in compile times (gcc 2.95.2 vs gcc 3.2 -- MinGW versions)

Richard Haney rfhaney at yahoo.com
Sat Dec 14 01:18:52 CET 2002


I switched from gcc 2.95.2 to 3.2 -- Mingw versions -- and got a
horrendous increase in compile times in subdirectory 'ginac'.  Free
space on my c: drive is 495 MB.  (My RAM is limited to 32 MB because it
seems that the circuitry for memory expansion has failed.)

Is the gcc 3.2 compiler bumping hard against swapping size limits?  A
look at the 'system monitor' software during compilation seems to say
that only 72 MB is used for swapping.

Or is there something else that's causing this horrendous slowdown
(like a bad compiler design in upgrading from 2.95.2 to 3.2 maybe?)?

Here are a couple of tables with relevant info (listing object files
with file sizes and creation times) for compiling in subdirectory
ginac.

Table 1
***** *

object modules created by gcc 3.2 in three continuous runs of make
"--------" indicates interruption of make.
(selected compile times in right hand column)

(Making of power.o, operators.o, and the last ten minutes of numeric.o
were done at a slower processor speed powered by an auxiliary battery. 
The rest of the makes were done at normal high speed using ac power;
high speed is nominally 380 MHz, per user's manual; lower speed value
unknown.)


   1451471 Wed Dec 11 19:12:08 2002 power.o
    914349 Wed Dec 11 18:17:08 2002 operators.o
   1630236 Wed Dec 11 18:09:32 2002 numeric.o          1.3 hrs
   1763843 Wed Dec 11 16:49:42 2002 normal.o           1.5 hrs
   1351462 Wed Dec 11 15:18:02 2002 mul.o
   1736244 Wed Dec 11 14:37:12 2002 matrix.o
   1326684 Wed Dec 11 13:29:20 2002 inifcns_gamma.o
    948098 Wed Dec 11 12:57:22 2002 inifcns_zeta.o
   1675190 Wed Dec 11 12:53:10 2002 inifcns_trans.o
   1415743 Wed Dec 11 11:47:16 2002 inifcns.o
   1530210 Wed Dec 11 11:06:18 2002 function.o
---------------------------------------------------------------------
    944331 Tue Dec 10 18:03:02 2002 fail.o
   1359025 Tue Dec 10 17:58:14 2002 exprseq.o
   1475200 Tue Dec 10 17:22:22 2002 expairseq.o
---------------------------------------------------------------------
    885881 Tue Dec 10 14:56:32 2002 expair.o           3.2 min
    967914 Tue Dec 10 14:53:18 2002 ex.o               8.5
   1055734 Tue Dec 10 14:44:48 2002 constant.o        16.2
   1124770 Tue Dec 10 14:28:34 2002 basic.o           20.3
   1374322 Tue Dec 10 14:08:18 2002 archive.o         30.7
   1203797 Tue Dec 10 13:37:38 2002 add.o


Table 2
***** *

Object modules created by gcc 2.95.2 with continuous operation of make
(selected compile times in right hand column)

(normal high processor speed using ac power;
high speed is nominally 380 MHz, per user's manual.)

    274186 Tue Oct 08 17:25:36 2002 operators.o
   1820796 Tue Oct 08 17:24:36 2002 numeric.o         7.1 min
   1792847 Tue Oct 08 17:17:32 2002 normal.o          5.5 min
    894707 Tue Oct 08 17:12:00 2002 mul.o
   1581044 Tue Oct 08 17:10:10 2002 matrix.o
    839184 Tue Oct 08 17:07:32 2002 inifcns_gamma.o
    307886 Tue Oct 08 17:06:04 2002 inifcns_zeta.o
   1572996 Tue Oct 08 17:05:06 2002 inifcns_trans.o
   1034273 Tue Oct 08 17:01:40 2002 inifcns.o
   1155709 Tue Oct 08 16:59:14 2002 function.o
    188153 Tue Oct 08 16:57:44 2002 fail.o
    744889 Tue Oct 08 16:57:02 2002 exprseq.o
   1094132 Tue Oct 08 16:56:00 2002 expairseq.o
    105948 Tue Oct 08 16:54:24 2002 expair.o          0.7 min
    257110 Tue Oct 08 16:53:42 2002 ex.o              0.7 min
    378665 Tue Oct 08 16:52:58 2002 constant.o        1.0 min
    479942 Tue Oct 08 16:51:58 2002 basic.o           1.0 min
    972535 Tue Oct 08 16:50:58 2002 archive.o         1.0 min          
    561407 Tue Oct 08 16:49:58 2002 add.o


==================

Here is also a summary of similar results for compiling CLN modules:

Statistics for gcc 3.2 v 2.95.2 for CLN object modules
**********     *** ***   ******     *** ****** *******


gcc 2.95.2 compilation of cln modules in subdir src:
    ******

Average compile time for the second through 27th module is 19 seconds.
Average object module size for the first 27 modules is 18,896 bytes.
Average object module size for all 855 modules is 67,125 bytes.

--------------------------------

gcc 3.2 compilation of cln modules in subdir src:
    ***

Average compile time for the second through 27th module is 2.3 minutes.
Average object module size for the first 27 modules is 254,008 bytes.
Average object module size for all 855 modules is 198,708 bytes.
 

What can I do to get CLN & GiNaC built reasonably well?

I again tried to make libreadline with gcc 2.95.2 (using new things
I've learned) because 2.95.2 seems at present to be the best bet, but I
still run into problems. It seems I need a new set of header files (and
maybe gcc 2.95.2 libraries) or, preferably, a gcc 2.95.2 libreadline.a
for win32 (i.e., MinGW).  That would allow me to continue with using
gcc 2.95.2.


Richard Haney



__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com



More information about the GiNaC-list mailing list