]> git.eshelyaron.com Git - emacs.git/commitdiff
bug#61489: Increase BLOCK_ALIGN from 1024 to 32768
authorKonstantin Kharlamov <Hi-Angel@yandex.ru>
Thu, 16 Feb 2023 15:07:55 +0000 (18:07 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 4 Mar 2023 11:25:34 +0000 (13:25 +0200)
Originally discovered by Tyler Dodge in his article "Significant Garbage
Collection Improvement For Emacs".

While testing this change on Archlinux system with Intel i5-7200U CPU,
average time of garbage collection gets reduced by ≈25%. Other users
report improvements up to 50%. While monitoring PSS of emacs with and
without customizations loaded before and after the patch, no
statistically significant differences were discovered. So overall, this
change is a win.
* src/alloc.c (BLOCK_ALIGN): increase from 1024 to 32768.

src/alloc.c

index 6a7037b6bb054a3192abb2d5d62fcf512710c60e..5450586b533523c8a7975c4041d315e656080f0c 100644 (file)
@@ -1083,7 +1083,7 @@ lisp_free (void *block)
    BLOCK_BYTES and guarantees they are aligned on a BLOCK_ALIGN boundary.  */
 
 /* Byte alignment of storage blocks.  */
-#define BLOCK_ALIGN (1 << 10)
+#define BLOCK_ALIGN (1 << 15)
 verify (POWER_OF_2 (BLOCK_ALIGN));
 
 /* Use aligned_alloc if it or a simple substitute is available.