cvs commit: fptools/ghc/compiler/stranal DmdAnal.lhs

Julian Seward (Intl Vendor) v-julsew@microsoft.com
Mon, 6 Aug 2001 02:54:27 -0700


| It appears that no-one understands the GC options except me. =20
| Perhpas they should be redesigned, but here's the current story:
|=20
| -H<size>  is the *minimum* heap size.  The heap will be grown=20
| as necessary, starting with the minimum, and up to the=20
| maximum heap size.
|=20
| -M<size> is the *maximum* heap size, by default 64M.  The=20
| heap is not allowed to grow beyond this size [...]

In days long since gone (before the 4.XX RTS) -H simply set the
heap size, and because the heap was fixed-size, that was the max
heap size too.

How about:

* Renaming current -M to -H, and current -H to -HS.
* Fixing up the sizing calculations a bit so that the
  max heap size is more closely observed.

Result: -H means what it meant originally, but you can still
set an initial heap size with -HS if you want.  That means for
the most part we can forget about -M and use -H instead.

Also having an auto-fallback to compacting collection when
heap gets full.  Overall aim is to reduce, ideally to zero, the
number of flags users have to give to the RTS in order to get
reasonable performance yet efficient use of memory.  People
simply won't use the compacting collector if you have to ask
for it specially.

J