Subject: bug#79074: 31.0.50; Increase gc-cons-percentage in Makefiles

From: Helmut Eller <[email-masked]>
Date: Mon, 28 Jul 2025 13:24:43 +0200

On Sat, Jul 26 2025, Stefan Monnier wrote:

[...]
> But if we do want to fine tune it, maybe it'd be worth re-running
> Helmut's measurements for more values, like 0.8, 1, 1.25, 1.6, 2.0, 4.0
> to have a more complete picture (I skipped the 2.5 and 3.2 steps because
> I expect the difference between 2.0 and 4.0 will already show that this
> is beyond the point of diminishing returns).

That produces:

| gc-cons-percentage |  elapsed |  rssmax |
|--------------------+----------+---------|
|                0.1 | 14:38.08 |  641880 |
|               0.75 |  8:06.30 |  706240 |
|                0.8 |  7:36.43 |  705732 |
|                1.0 |  6:58.86 |  652292 |
|               1.25 |  6:38.75 |  710320 |
|                1.5 |  6:32.58 |  766348 |
|                1.6 |  6:14.64 |  776856 |
|                2.0 |  5:57.64 | 4655076 |
|                4.0 |  6:08.25 | 4652808 |

Not sure why there is this sudden jump for rssmax in the 2.0 row; it
looks strangely non-linear.  Other than that, it looks like
gc-cons-percentage = 1.0 is a reasonable choice.

The statistics for the individual processes:

| gc-cons-% |           elapsed real time            |            rssmax                             |    
|           |  min |  q25 | median |    q75 |    max |   min |     q25 |  median |     q75 |     max |
|-----------+------+------+--------+--------+--------+-------+---------+---------+---------+---------|
|       0.1 | 0.12 | 0.19 |   0.48 |   0.81 | 162.52 | 42692 | 44092.0 | 45388.0 | 47996.0 |  641880 |
|      0.75 |  0.1 | 0.14 |  0.285 |   0.42 |  69.69 | 43032 | 45085.0 | 47932.0 | 51235.0 |  706240 |
|       0.8 | 0.09 | 0.14 |   0.27 |   0.39 |  67.02 | 42820 | 44885.0 | 47730.0 | 50707.0 |  705732 |
|       1.0 |  0.1 | 0.13 |   0.25 |   0.37 |  64.11 | 42800 | 45488.0 | 49548.0 | 52249.0 |  652292 |
|      1.25 | 0.08 | 0.13 |   0.23 | 0.3275 |  60.51 | 43344 | 46142.0 | 50638.0 | 54487.0 |  710320 |
|       1.5 | 0.08 | 0.12 |   0.22 |   0.31 |  62.93 | 43060 | 45984.0 | 55508.0 | 57521.0 |  766348 |
|       1.6 | 0.09 | 0.12 |    0.2 |   0.31 |  60.36 | 43552 | 45240.0 | 55282.0 | 60530.0 |  776856 |
|       2.0 | 0.08 | 0.11 |   0.19 |   0.28 |  59.88 | 43348 | 46318.0 | 57808.0 | 72712.0 | 4655076 |
|       4.0 | 0.08 | 0.11 |   0.19 |   0.28 |  59.47 | 43424 | 46357.0 | 57906.0 | 72711.0 | 4652808 |

The same as boxplot:

The "without outliers" variants show the data without the dots above the
whiskers.  The whiskers are at 1.5 * interquartile-range.

Helmut