[Top][All Lists]

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

Re: Building Emacs overflowed pure space

From: Stefan Monnier
Subject: Re: Building Emacs overflowed pure space
Date: Sat, 22 Jul 2006 23:47:44 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

>>> If the string data in the pure storage can be assumed to be completely
>>> read-only (including the preloading stage), another hack could be
>>> considered.  That is, sharing postfixes of string data among multiple
>>> pure strings.  The following experimental patch shows another ~40KB
>>> reduction of the pure storage usage.  (A slow and naive but reliable
>>> version not using Boyer-Moore also shows the same size of reduction.)
> I tried the exact the same thing (using the naive version), but the
> dumped emacs crashed immediately after loadup, thinking that "nil" was
> a filename...  So I didn't think it was safe to do this.

There may be one or two unexpected details to work out, but I think the
approach is fundamentally pretty safe.

>> Cute,
>> And it does remove the --cl-dolist-temp-- vs --dolist-temp-- difference.

> How?  --do... != c-do...  !?

One of the problems mentioned in this thread is that not only each uninterned
symbol used by dolist is a separate object, but that the symbol's name
(i.e. the string "--cl-dolist-temp--") is also duplicated when reading the
.elc file, which is why the length of the symbol's name makes a difference
in the amount of pure storage used.  If all strings are basically
hash-consed, then this problem disappears.


reply via email to

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