bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#65491: [PATCH] Improve performance allocating vectors


From: Mattias Engdegård
Subject: bug#65491: [PATCH] Improve performance allocating vectors
Date: Sat, 16 Sep 2023 16:58:01 +0200

Results of some further experiments:

- Reducing the `vector_free_lists` array to its actually used first half does 
improve performance a bit, even with subsequent scanning speed-ups.

- Enlarging `struct vector_block` from 4 KiB does not necessarily speed things 
up but more measurement is needed.

- Using a bitmap for faster `vector_free_lists` scanning is definitely 
beneficial.

- The previously mentioned hack where scanning begins in the most recently 
added bucket is surprisingly effective, often even more so than a bitmap, but 
I'm wary of it being brittle. Need more measurements.

- Our special-casing of the bool-vector representation is annoying. It would be 
good if we didn't have to pay the price on 64-bit platforms.

I also pushed two small changes that were essential to working with the code so 
we might just as well have them in now: b1881d7dab (fix a static assertion) and 
056c99a34c (better Lisp_Object untagging).

I'd like to try size-homogeneous blocks as well, but this requires some GC 
updates. Just a matter of taking the time, of course.






reply via email to

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