[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Lisp_Marker size on 32bit systems
From: |
Paul Eggert |
Subject: |
Re: Lisp_Marker size on 32bit systems |
Date: |
Fri, 7 Sep 2018 14:03:44 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 |
Stefan Monnier wrote:
I still wonder why it would be slower at all.
My guess is cache effects. My processor has a cache line size of 64 bytes, so if
objects are allocated in 32-byte chunks they won't straddle cache boundaries and
code will be less likely to thrash the cache. I ran this benchmark in the 'lisp'
subdirectory:
EMACSLOADPATH= perf stat -dd '../src/emacs' -batch --no-site-file --no-site-lisp
--eval '(setq load-prefer-newer t)' -f batch-byte-compile org/org.el
and am attaching the results for the 24-bit allocation (a bit slower) and the
32-bit allocation (a bit faster), and they are in line with this guess.
Maybe we should be using 4 mark bits instead of 3?
On 32bit systems, both cons cells and float cells use 8 bytes each, so
aligning on multiples of 16 would double their memory use.
We'd use two tags for both conses and float cells, so that shouldn't be a
problem.
it's not clear
what the extra tags would be useful for.
Presumably to help performance elsewhere. Admittedly I'm blue-skying a bit here.
perf-stat-emacs-24.txt
Description: Text document
perf-stat-emacs-32.txt
Description: Text document
- Re: Lisp_Marker size on 32bit systems, (continued)
- Re: Lisp_Marker size on 32bit systems, Eli Zaretskii, 2018/09/07
- Re: Lisp_Marker size on 32bit systems, Paul Eggert, 2018/09/07
- Re: Lisp_Marker size on 32bit systems, Eli Zaretskii, 2018/09/07
- Re: Lisp_Marker size on 32bit systems, Paul Eggert, 2018/09/07
- Re: Lisp_Marker size on 32bit systems, Eli Zaretskii, 2018/09/07
- Re: Lisp_Marker size on 32bit systems, Paul Eggert, 2018/09/07
- Re: Lisp_Marker size on 32bit systems, Eli Zaretskii, 2018/09/07
- Re: Lisp_Marker size on 32bit systems, Stefan Monnier, 2018/09/07
- Re: Lisp_Marker size on 32bit systems, Paul Eggert, 2018/09/07
- Re: Lisp_Marker size on 32bit systems, Stefan Monnier, 2018/09/07
- Re: Lisp_Marker size on 32bit systems,
Paul Eggert <=
- Re: Lisp_Marker size on 32bit systems, Stefan Monnier, 2018/09/07
- Re: Lisp_Marker size on 32bit systems, Paul Eggert, 2018/09/07
- Re: Lisp_Marker size on 32bit systems, Stefan Monnier, 2018/09/07