Subject: [PATCH 1/1] Increase BLOCK_ALIGN from 2¹⁰to 2¹⁵
From: Konstantin Kharlamov <[email-masked]>
To: [email-masked]
Date: Mon, 13 Feb 2023 23:00:06 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

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%. 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 2¹⁰ to 2¹⁵
---
 src/alloc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/alloc.c b/src/alloc.c
index c25e81d1dde..d278b01343d 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -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.
-- 
2.39.0