[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: size increase for CVS emacs vs 21.3

From: Kim F. Storm
Subject: Re: size increase for CVS emacs vs 21.3
Date: Tue, 14 Sep 2004 09:29:44 +0200
User-agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3.50 (gnu/linux)

Dan Nicolaescu <address@hidden> writes:

> Richard Stallman <address@hidden> writes:
>   > If you look at the various .o files with size, I expect
>   > you can find out where the increase really is.
> It looks like all the increase comes from alloc.o, specifically from
> "pure". 
> For  temacs from CVS:
> (gdb) p sizeof (pure)
> $1 = 1980000
> for temacs from 21.3:
> (gdb) p sizeof(pure)
> $1 = 720000
> changing the size of "pure" to be the same as in 21.3 makes temacs be
> roughly the same size as the 21.3 temacs. But that does not help
> because with the smaller size "emacs" cannot be created, it crashes
> while loading loadup.el. Trying do decrease "pure" does not work, it
> temacs crashes when trying to dump...  
> Another interesting fact is that the current CVS uses
> 993528 pure bytes and  21.3 uses 715540 pure bytes.
> Yet the  sizeof(pure) difference is so much bigger. 

In puresize.h we have this:

#define PURESIZE_RATIO 9/5      /* Don't surround with `()'. */

I think that the '+1' part (corresponding to the now defunct MARK bit)
in "VALBITS + GCTYPEBITS + 1" should be removed.

Since VALBITS in CVS is one bigger that in 21.3, we get the 9/5 ratio
rather than the '1' ratio.  

The rest of the increase is simply that BASE_PURESIZE has been
increased from 720000 to 1100000  -- that value seems too big,
so we should probably lower it before final release of 21.4.

BTW, what was the rationale for the following change?

2002-02-15  Andreas Schwab  <address@hidden>

        * puresize.h (BASE_PURESIZE): Increase to 9/5.

The commantary is wrong -- the change was to PURESIZE_RATIO,
not BASE_PURESIZE (the ratio used to be 8/5)?

Kim F. Storm  http://www.cua.dk

reply via email to

[Prev in Thread] Current Thread [Next in Thread]