[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
- Re: [Emacs-diffs] trunk r117464: Shrink Lisp_Sub_Char_Table by preferring C integers to Lisp_Objects., Stefan Monnier, 2014/07/02
- Re: [Emacs-diffs] trunk r117464: Shrink Lisp_Sub_Char_Table by preferring C integers to Lisp_Objects., Dmitry Antipov, 2014/07/02
- Re: [Emacs-diffs] trunk r117464: Shrink Lisp_Sub_Char_Table by preferring C integers to Lisp_Objects., Stefan Monnier, 2014/07/02
- Re: [Emacs-diffs] trunk r117464: Shrink Lisp_Sub_Char_Table by preferring C integers to Lisp_Objects., Dmitry Antipov, 2014/07/02
- Re: [Emacs-diffs] trunk r117464: Shrink Lisp_Sub_Char_Table by preferring C integers to Lisp_Objects., Stefan Monnier, 2014/07/02
- Re: [Emacs-diffs] trunk r117464: Shrink Lisp_Sub_Char_Table by preferring C integers to Lisp_Objects.,
Dmitry Antipov <=
- Re: [Emacs-diffs] trunk r117464: Shrink Lisp_Sub_Char_Table by preferring C integers to Lisp_Objects., Stephen J. Turnbull, 2014/07/03
- Re: [Emacs-diffs] trunk r117464: Shrink Lisp_Sub_Char_Table by preferring C integers to Lisp_Objects., Eli Zaretskii, 2014/07/03
- Re: [Emacs-diffs] trunk r117464: Shrink Lisp_Sub_Char_Table by preferring C integers to Lisp_Objects., Dmitry Antipov, 2014/07/03
- Re: Nano-improvements C integers to Lisp_Objects., Eli Zaretskii, 2014/07/03
- Re: [Emacs-diffs] trunk r117464: Shrink Lisp_Sub_Char_Table by preferring C integers to Lisp_Objects., Stefan Monnier, 2014/07/03
- Re: [Emacs-diffs] trunk r117464: Shrink Lisp_Sub_Char_Table by preferring C integers to Lisp_Objects., Dmitry Antipov, 2014/07/03
- Re: [Emacs-diffs] trunk r117464: Shrink Lisp_Sub_Char_Table by preferring C integers to Lisp_Objects., Stefan Monnier, 2014/07/03
- Re: [Emacs-diffs] trunk r117464: Shrink Lisp_Sub_Char_Table by preferring C integers to Lisp_Objects., Dmitry Antipov, 2014/07/03
- Re: [Emacs-diffs] trunk r117464: Shrink Lisp_Sub_Char_Table by preferring C integers to Lisp_Objects., Stefan Monnier, 2014/07/03
- Re: Nano-improvements (was: [Emacs-diffs] trunk r117464: Shrink Lisp_Sub_Char_Table by preferring C integers to Lisp_Objects.), Eli Zaretskii, 2014/07/03