delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/03/30/07:27:42

Date: Wed, 30 Mar 1994 13:34:48 +0200
From: terra AT diku DOT dk
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: Re: DJGPP Speed

   Date: Wed, 30 Mar 94 09:28:32 +0200
   From: eliz AT is DOT elta DOT co DOT il
   > ... then you're probably spending too much time in the compiler and
   > less time designing and verifying code.

   Don't debugging and verifying mean constant recompilation?  DJ says that it
   takes him less than 30 minutes to compile GCC, which is less than pizza delivery
   time.  Of course, we in this remote region of ours have different schedules for
   pizza delivery, but slashing that down to, say, 10 minutes makes *a lot* of
   difference when developing a new version.

[NO FLAMES, PLEASE!] A recompile time of 30 minutes is what I would call a
genuine disaster.  It seems to be a problem with the C language itself, or
rather with the preprocessor scheme with .h files.

When I say "disaster" it is because on my PC, I can compile and link 25000
lines of Pascal code in half a minute using Borland Pascal.  The module
system of BP is, FYI, less general that C's, but is a major reason for the
difference in speed.  The BP-generated code is poor, of course, but in many
situations -- most interactive programs -- that doesn't really matter,
because lots of user's machines are grossly overpowered anyway.
(Hen-and-egg probelm, perhaps.)

; ----------------------------------------

"And now for something completely different!"

I think we could improve the speed of all djgpp programs a lot by making
structures and procedures in go32 aligned properly.  As it is now, every-
thing is byte aligned and should be:

	Task State Segments		paragraph
	Procedures			paragraph
	IDT, GDT			paragraph
	IDT handlers			paragraph
	16:16 pointers			dword

A good start would be to declare the segments "Para" instead of "Byte" and
add an "Align 10h" at the end.  The is in fact easy as the segments are
macro controled.

; ----------------------------------------

Sometimes simple questions are asked on the mailing list, or the somebody
experiences problems running graphics programs under DPMI.  When you are
polite enough to answer these, then please to that directly to the poor
user *wiythout* CC-ing the mailing list.  This might, just might, reduce
the noise on the list.

; ----------------------------------------

Morten Welinder
terra AT diku DOT dk


- Raw text -


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