Mail Archives: djgpp/2001/02/24/08:51:27
Eli Zaretskii wrote:
>
> > From: Joe Wright <joewwright AT earthlink DOT net>
> > Newsgroups: comp.os.msdos.djgpp
> > Date: Sat, 24 Feb 2001 03:51:59 GMT
> >
> > Several years ago I downloaded DJGPP V2 with gcc 2.7.2.1 and have been
> > completely pleased and almost ecstatic about the whole thing. Yesterday
> > I downloaded the 'new' stuff with gcc at 2.952 and I find it creates
> > larger executables which run slower.
>
> How much larger and how much slower? It is important to know the
> approximate figures to tell you if what you see is expected or some
> kind of installation/usage snafu.
>
> Executables produced by GCC 2.95.2 and the latest Binutils are
> supposed to be a bit larger, because their code and data are aligned
> for more optimal run-time performance (speed), but the bloat should be
> less than 10%. If you forget to strip the executable, the bloat might
> be much more, since GCC 2.9x produces much more debug info. If you
> didn't optimize, then anything could happen (I always compile with
> optimizations, even when I'm debugging).
>
> If you are talking about C++ code, the bloat is significant because
> GCC 2.9x has _real_ C++ support, and C++ is a monstrously large
> language.
>
> As for speed, I find GCC 2.9x-produced binaries to run the same or
> faster than those produced by 2.7.2.1. If you used some specific
> optimization switches with 2.7.2.1, I suggest to read section 14.2 of
> the DJGPP FAQ list, it might give some insight.
>
> > I've never had any trouble with the 'old' one. Why should I use the
> > 'new' one?
>
> If you only use the compiler and Binutils, and never want or need any
> other tools, you probably could not care less. If you do use other
> tools, like Make, Bash, GDB, etc., then you should upgrade because
> otherwise you will have compatibility problems.
I haven't tested and measured everything rigorously yet. I have a
program that implements several kinds of sorts. Under 2.7.2.1 I produce
a 49,152 byte .exe and with 2.952 67,584 bytes. I use the same batch
file to invoke both compilers namely;
gcc -Wall -s -O2 %1.c -o %1.exe -lm
I run the sort program in a DOS window on Win95. The sort fills the
screen with the array to be sorted. With 2.7 this seems instantaneous.
With 2.9 it is 'clunky'. Of course the sorts don't take the same amount
of time each time due to the random nature of the data to be sorted but
one of my sorts takes about 1500 microseconds in 2.7 and 2200
microseconds in 2.9.
I'll share more as I play with it.
--
Joe Wright mailto:joewwright AT earthlink DOT net
"Everything should be made as simple as possible, but not simpler."
--- Albert Einstein ---
- Raw text -