delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1995/01/15/15:23:48

Date: Sun, 15 Jan 1995 20:48:00 +0100
From: enok AT lysator DOT liu DOT se
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: Optimize your PC

I have been planning to buy more memory for a while, but I have hesitated
as I don't know how much difference it will make in performance of djgpp.
Therefore, I have measured the compilation times of my computer using
4 MB or 8MB respectively. Maybe someone is interested in the results,
that's why I post them here.

First a brief description of my computer: 486DX33, local bus IDE-controller,
160 MB IBM harddrive (of average speed). I have installed himem.sys and
emm386.exe. DOS version is v.6.22. DJGPP version is 1.12.maint2.

I simply used make to compiled around 20 c-files and then link them.
I used 4MB RAM and then added a 4MB simm to get 8MB and compiled again.
I noticed that smartdrive increases the performance
enormously, therefore I tried to find the optimum cache size.
I also tried once without emm386.exe installed in config.sys to see
what the difference would be. I compiled everything with -O2 optimization
flag. The source code contained mostly small functions.

Now for the results, the compilation times in minutes are listed:

Cache size\Memory         8MB     4MB     4MB, no emm386

128kB                   14.00   14.00
512kB                    8.30    8.35
800kB                            6.22
1024kB                   5.33    6.02    7.52
1200kB                           7.22
2048kB                   4.02    Huge!
3072kB                   4.02
4096kB                   4.02


Conclusions: It looks like 4MB and 8MB doesn't differ much unless you use
the extra space for diskcache. A cache size of 2048 kB is enough to hold
just about everything in the cache (this is probably because the sum of the
sizes of gcc, cc1, cpp, lib... etc is around 1500-2000 kB).

The virtual memory needed is around 3MB. Too much diskcache is not good
in the 4MB case, because of the increased virtual memory swapping.

Emm386.exe should be installed for optimum performance. (Why ???)

Optimum for a 8MB computer (2048 kB cache) gives around 50% better
performance compared to optimum for a 4MB computer (1024 kB cache)
(Of cource this depends on what kind of source code you have, large
functions take more virtual memory)

/Oskar Enoksson



- Raw text -


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