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