From: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: Luc Teirlinck <teirllm@dms.auburn.edu>,
rms@gnu.org, ralphm@members.fsf.org, emacs-devel@gnu.org,
Eli Zaretskii <eliz@gnu.org>,
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>,
mathias.dahl@gmail.com
Subject: Re: Building Emacs overflowed pure space
Date: Sat, 22 Jul 2006 23:47:44 -0400 [thread overview]
Message-ID: <jwvslktvvcu.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <m3slkt1bgr.fsf@kfs-l.imdomain.dk> (Kim F. Storm's message of "Sun, 23 Jul 2006 01:11:48 +0200")
>>> 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.
Stefan
next prev parent reply other threads:[~2006-07-23 3:47 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-18 8:38 Building Emacs overflowed pure space Mathias Dahl
2006-07-18 9:02 ` Ralph Moritz
2006-07-18 12:06 ` Mathias Dahl
2006-07-18 13:37 ` David Hansen
2006-07-18 15:00 ` Richard Stallman
2006-07-18 18:55 ` Luc Teirlinck
2006-07-18 20:16 ` Eli Zaretskii
2006-07-18 20:56 ` Stefan Monnier
2006-07-19 2:51 ` Eli Zaretskii
2006-07-19 4:35 ` Stefan Monnier
2006-07-19 4:42 ` Miles Bader
2006-07-19 18:13 ` Eli Zaretskii
2006-07-19 13:52 ` mituharu
2006-07-19 15:07 ` Stefan Monnier
2006-07-19 21:16 ` Richard Stallman
2006-07-20 1:12 ` YAMAMOTO Mitsuharu
2006-07-22 9:06 ` YAMAMOTO Mitsuharu
2006-07-22 16:03 ` Stefan Monnier
2006-07-22 23:11 ` Kim F. Storm
2006-07-23 3:47 ` Stefan Monnier [this message]
2006-07-25 1:14 ` YAMAMOTO Mitsuharu
2006-07-25 4:13 ` Richard Stallman
2006-07-25 10:41 ` YAMAMOTO Mitsuharu
2006-07-25 10:56 ` David Kastrup
2006-07-25 11:00 ` Andreas Schwab
2006-07-25 11:05 ` David Kastrup
[not found] ` <85ejwahrqi.fsf@lola.goethe.zz>
2006-07-25 11:08 ` Andreas Schwab
2006-07-25 11:23 ` David Kastrup
2006-07-23 5:26 ` Richard Stallman
2006-07-18 22:01 ` Luc Teirlinck
2006-07-18 23:44 ` Chong Yidong
2006-07-19 0:06 ` Luc Teirlinck
2006-07-19 0:14 ` Luc Teirlinck
2006-07-19 0:21 ` Luc Teirlinck
2006-07-19 2:56 ` Eli Zaretskii
2006-07-18 19:29 ` Luc Teirlinck
2006-07-19 6:04 ` Richard Stallman
2006-07-19 9:22 ` YAMAMOTO Mitsuharu
2006-07-19 9:46 ` YAMAMOTO Mitsuharu
2006-07-19 15:05 ` Stefan Monnier
2006-07-19 23:13 ` Kim F. Storm
2006-07-20 4:05 ` Stefan Monnier
2006-07-20 2:13 ` YAMAMOTO Mitsuharu
2006-07-20 2:21 ` Richard Stallman
2006-07-20 2:21 ` Richard Stallman
2006-07-20 4:07 ` Stefan Monnier
2006-07-20 8:14 ` Kim F. Storm
2006-07-20 15:26 ` Stefan Monnier
2006-07-20 18:16 ` Richard Stallman
2006-07-19 21:15 ` Richard Stallman
2006-07-19 22:47 ` Kim F. Storm
2006-07-20 15:33 ` Richard Stallman
2006-07-20 9:34 ` Kim F. Storm
2006-07-20 9:58 ` David Kastrup
2006-07-20 11:35 ` Kim F. Storm
2006-07-20 13:46 ` David Kastrup
2006-07-20 18:16 ` Richard Stallman
2006-07-21 8:36 ` Kim F. Storm
2006-07-21 19:36 ` Richard Stallman
2006-07-21 19:48 ` David Kastrup
2006-07-21 20:40 ` Andreas Schwab
2006-07-21 20:49 ` David Kastrup
2006-07-22 15:49 ` Richard Stallman
2006-07-20 16:03 ` Stefan Monnier
2006-07-20 21:46 ` Richard Stallman
2006-07-20 22:11 ` Stefan Monnier
2006-07-21 4:46 ` Richard Stallman
2006-07-21 12:57 ` Stefan Monnier
2006-07-21 19:37 ` Richard Stallman
2006-07-19 0:44 ` Katsumi Yamaoka
-- strict thread matches above, loose matches on Subject: below --
2006-08-07 13:30 Klaus Zeitler
2006-08-08 9:20 ` Klaus Zeitler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=jwvslktvvcu.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=mathias.dahl@gmail.com \
--cc=mituharu@math.s.chiba-u.ac.jp \
--cc=ralphm@members.fsf.org \
--cc=rms@gnu.org \
--cc=teirllm@dms.auburn.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.