emacs-devel
[Top][All Lists]
Advanced

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

Re: [Emacs-diffs] trunk r117464: Shrink Lisp_Sub_Char_Table by preferrin


From: Dmitry Antipov
Subject: Re: [Emacs-diffs] trunk r117464: Shrink Lisp_Sub_Char_Table by preferring C integers to Lisp_Objects.
Date: Thu, 03 Jul 2014 08:12:14 +0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0

On 07/02/2014 10:27 PM, Stefan Monnier wrote:

But the problem is that the code is vulnerable to these kinds
of changes.  Why do we even need to treat such a Lisp_Sub_Char_Table as
a Lisp_Vector at all?  I don't see any real need for it.

This is somewhat similar to r110830 when we shrink struct vectorlike_header.
Sub char-table is not a marginal and almost-not-used type (and the latter was
a surprise to me) - for example, after C-h h I have more than 3K of live
sub char-tables. On a 64-bit system, saving just 8 byte per sub char-table
gives 24K. Not too much, but avoiding 2 Lisp_Objects also shaves off 6K calls
to mark_object at GC (these calls was useless anyway just because depth and
min_char are always integers and so don't need to be marked).

Of course, an universal Eli-style "we don't need nano-improvements" argument
makes all of the above just a nonsense.

Dmitry




reply via email to

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