[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/2] Prevent excessive major gcs by having decent amount of u
From: |
Mario Domenech Goulart |
Subject: |
Re: [PATCH 1/2] Prevent excessive major gcs by having decent amount of unused heap |
Date: |
Fri, 08 Jan 2021 22:10:25 +0100 |
Hi,
On Wed, 08 Jan 2020 17:03:25 +0200 megane <meganeka@gmail.com> wrote:
> The garbage collector currently has couple of less than optimal
> behaviors:
>
> 1. If there's constantly only a small amount of heap left after a major
> collection then there will be constant major collections.
>
> 2. If the used heap space does yo-yo then there will be constant heap
> resizes.
>
>
> These patches are for those two cases.
>
> Benchmarks for the 1st patch:
> http://paste.call-cc.org/paste?id=02242cbbd2c79456920d8dfdb327b791231eefd2
>
> http://paste.call-cc.org/paste?id=02242cbbd2c79456920d8dfdb327b791231eefd2#a1
>
> - note the up-to 2x speedup in some cases
>
> Benchmarks when both patches applied:
>
> http://paste.call-cc.org/paste?id=02242cbbd2c79456920d8dfdb327b791231eefd2#a2
>
> - see especially kernwyk-string
>
> Some picks:
>
> Vanilla master:
>
> Total run time (CPU time): 5m39.5449999999999s
> Total time spent in major GCs: 54.041s
> Total number of major GCs: 39245
>
> With -:hf4M
>
> Total run time (CPU time): 4m57.9510000000001s
> Total time spent in major GCs: 15.862s
> Total number of major GCs: 4766
To celebrate the one-year anniversary of the submission of these patches
I pushed them.
I ran a relatively extensive set of benchmark configurations comparing
CHICKEN from master against CHICKEN from master plus the patches.
Results are here: http://parenteses.org/mario/misc/benchmarks-megane/
I could not find any significant performance degradation with the
patches. The only degradations were very small, below the 5% deviance
or large differences in tiny timing values, which I'd consider noise.
On the other hand, the performance increase is quite significant and far
from being noise, as far as I can tell.
Thanks for the patches and for your patience, megane.
All the best.
Mario
--
http://parenteses.org/mario
- Re: [PATCH 1/2] Prevent excessive major gcs by having decent amount of unused heap,
Mario Domenech Goulart <=
- Re: [PATCH 1/2] Prevent excessive major gcs by having decent amount of unused heap, Sven Hartrumpf, 2021/01/09
- Re: [PATCH 1/2] Prevent excessive major gcs by having decent amount of unused heap, Mario Domenech Goulart, 2021/01/10
- Re: [PATCH 1/2] Prevent excessive major gcs by having decent amount of unused heap, Sven Hartrumpf, 2021/01/12
- Re: [PATCH 1/2] Prevent excessive major gcs by having decent amount of unused heap, Mario Domenech Goulart, 2021/01/12
- Re: [PATCH 1/2] Prevent excessive major gcs by having decent amount of unused heap, Sven Hartrumpf, 2021/01/12
- Re: [PATCH 1/2] Prevent excessive major gcs by having decent amount of unused heap, Mario Domenech Goulart, 2021/01/12
- Re: [PATCH 1/2] Prevent excessive major gcs by having decent amount of unused heap, Sven Hartrumpf, 2021/01/12
- Re: [PATCH 1/2] Prevent excessive major gcs by having decent amount of unused heap, megane, 2021/01/13
- Re: [PATCH 1/2] Prevent excessive major gcs by having decent amount of unused heap, Sven Hartrumpf, 2021/01/13
- Re: [PATCH 1/2] Prevent excessive major gcs by having decent amount of unused heap, Sven Hartrumpf, 2021/01/18