ftp.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1992/04/03/00:19:46

Date: Fri, 3 Apr 92 14:45 +1000
From: Bill Metzenthen <APM233M AT vaxc DOT cc DOT monash DOT edu DOT au>
Subject: 1.06: cc1 memory hungry, gcc slow
To: djgpp AT sun DOT soe DOT clarkson DOT edu, dj AT ctron DOT com
Status: O

I have just tried the 1.06beta versions of the C compiler (but still using
a 1.05 version of go32).

My machine has 4M byte of memory installed. Most of the extended memory in
my machine was set up as XMS, with 800 kb set aside for EMS. The mem command
of DOS 5 reported "2042880 bytes available XMS memory".

I tried a compilation of a simple "C" file. Two of the modules involved in
the compilation did some swapping to disk (I assume that these are gcc.exe
and cc1.exe). The simple compilation took a grinding 57 sec to complete.

So, I edited my config.sys and removed the statement which set aside the
800 kb for EMS. The mem command of DOS 5 now reports "2960384 bytes
available XMS memory". The same simple compilation then took about 32 sec.
It appeared that only gcc.exe was now swapping.

Can cc1.exe be modified to be less memory hungry?

gcc.exe (the control program which just spawns the pre-processor, compiler,
etc) which was (I think) a "Turbo C" program is now a "DJGPP" program. Thus
a program which once just sat in memory now swaps out and in several times
during a compilation. I believe that this does not save much memory since
there will now be two copies of go32 in memory most of the time.

I tried returning to the 1.05 version of gcc.exe (leaving all of the other
1.06 versions of the compiler modules installed) and the simple compilation
now takes about 25 seconds! There appear to be only minor differences between
the two versions of gcc.exe. Can I continue to use the 1.05 version, or do
other parts of DJGPP now need the new parameters passed by the 1.06 gcc.exe?


--Bill


p.s.
(Oh yes, one other minor side-effect of v1.06 was that I had to change the
definition of TMP in "autoexec.bat" from "SET TMP=F:\TMP" to "SET TMP=F:/TMP".
Other programs use TMP, so I am keeping my fingers crossed and hoping that
they will not barf at the change.)

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019