Subject: Re: bug#36597: 27.0.50; rehash hash tables eagerly in pdumper

From: Pip Cet <[email-masked]>
Date: Mon, 15 Jul 2019 14:39:49 +0000

On Sun, Jul 14, 2019 at 4:54 PM Pip Cet <[email-masked]> wrote:
> > What's a good benchmark for what we should be optimizing for? Ideally something
> > somewhat-realistic as opposed to a microbenchmark.

Here are the things I've tried so far (building a full histogram of
actual clock cycles per run in all cases):

1. ja-dic.el: my patch is slightly faster: (on the order of 0.5%)
2. emacs -Q --batch: my patch is slightly slower (on the order of ~2%)
3. emacs -Q --eval "(run-with-timer 1 nil #'kill-emacs)": my patch is
very slightly faster (on the order of 0.1%)

Test 3 was run using a dedicated Xvnc server; all tests were run in
parallel with and without the patch.

The main advantage of my patch appears to be a reduction in pdumper
image size, which somehow leads to the performance improvement. I
haven't benchmarked a hypothetical patch which reduces the pdumper
image size but continues rehashing lazily.

But I noticed that my patch may affect hashes more than it should,
because it makes the thawed hash have the same size as the number of
hash entries in it. That seems not to hurt performance...