[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Larger GC thresholds for non-interactive Emacs
From: |
Eli Zaretskii |
Subject: |
Re: Larger GC thresholds for non-interactive Emacs |
Date: |
Sat, 18 Jun 2022 08:58:07 +0300 |
> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: Ihor Radchenko <yantar92@gmail.com>, Mattias EngdegÄrd
> <mattiase@acm.org>, Eli Zaretskii <eliz@gnu.org>, Tim Cross
> <theophilusx@gmail.com>, rms@gnu.org, Alan Mackenzie <acm@muc.de>,
> emacs-devel <emacs-devel@gnu.org>
> Date: Fri, 17 Jun 2022 13:48:46 -0400
>
> BYTE_COMPILE_EXTRA_FLAGS="--eval '(setq gc-cons-percentage $FOO)'":
>
> make -j24 FOO=0.1 1338.52s user 60.95s system 1256% cpu 1:51.42 total
> make -j24 FOO=0.1 1338.36s user 60.60s system 1252% cpu 1:51.65 total
> make -j24 FOO=0.1 1339.53s user 60.08s system 1252% cpu 1:51.76 total
> make -j24 FOO=0.2 1266.54s user 59.75s system 1264% cpu 1:44.92 total
> make -j24 FOO=0.2 1269.17s user 60.18s system 1256% cpu 1:45.83 total
> make -j24 FOO=0.2 1266.10s user 60.42s system 1258% cpu 1:45.43 total
> make -j24 FOO=0.3 1200.06s user 60.24s system 1251% cpu 1:40.73 total
> make -j24 FOO=0.3 1198.80s user 60.06s system 1254% cpu 1:40.39 total
> make -j24 FOO=0.3 1202.49s user 59.60s system 1252% cpu 1:40.80 total
> make -j24 FOO=0.4 1134.26s user 59.75s system 1233% cpu 1:36.81 total
> make -j24 FOO=0.4 1133.11s user 60.07s system 1226% cpu 1:37.25 total
> make -j24 FOO=0.4 1132.18s user 59.94s system 1226% cpu 1:37.18 total
> make -j24 FOO=0.5 1069.59s user 59.70s system 1211% cpu 1:33.22 total
> make -j24 FOO=0.5 1070.84s user 60.06s system 1211% cpu 1:33.34 total
> make -j24 FOO=0.5 1070.93s user 59.86s system 1210% cpu 1:33.43 total
> make -j24 FOO=1.0 845.92s user 61.24s system 1126% cpu 1:20.55 total
> make -j24 FOO=1.0 847.92s user 61.82s system 1130% cpu 1:20.46 total
> make -j24 FOO=1.0 846.59s user 61.46s system 1133% cpu 1:20.10 total
> make -j24 FOO=2.0 678.14s user 68.64s system 1044% cpu 1:11.52 total
> make -j24 FOO=2.0 678.04s user 69.19s system 1042% cpu 1:11.64 total
> make -j24 FOO=2.0 677.66s user 68.24s system 1041% cpu 1:11.59 total
> make -j24 FOO=3.0 677.50s user 69.38s system 1047% cpu 1:11.28 total
> make -j24 FOO=3.0 677.42s user 68.43s system 1047% cpu 1:11.19 total
> make -j24 FOO=3.0 677.98s user 69.10s system 1044% cpu 1:11.50 total
> make -j24 FOO=4.0 677.43s user 68.58s system 1051% cpu 1:10.96 total
> make -j24 FOO=4.0 677.09s user 68.49s system 1056% cpu 1:10.57 total
> make -j24 FOO=4.0 677.60s user 69.23s system 1049% cpu 1:11.17 total
> make -j24 FOO=5.0 677.22s user 68.90s system 1043% cpu 1:11.52 total
> make -j24 FOO=5.0 677.47s user 68.91s system 1044% cpu 1:11.49 total
> make -j24 FOO=5.0 677.13s user 67.98s system 1049% cpu 1:10.98 total
> make -j24 FOO=7.0 678.21s user 68.57s system 1044% cpu 1:11.52 total
> make -j24 FOO=7.0 677.48s user 68.50s system 1044% cpu 1:11.42 total
> make -j24 FOO=7.0 677.95s user 68.25s system 1050% cpu 1:11.00 total
> make -j24 FOO=10.0 677.30s user 69.52s system 1045% cpu 1:11.45 total
> make -j24 FOO=10.0 678.18s user 68.55s system 1042% cpu 1:11.62 total
> make -j24 FOO=10.0 678.97s user 68.45s system 1043% cpu 1:11.64 total
> make -j24 FOO=20.0 677.99s user 68.42s system 1041% cpu 1:11.67 total
> make -j24 FOO=20.0 677.69s user 69.31s system 1046% cpu 1:11.36 total
> make -j24 FOO=20.0 677.89s user 68.70s system 1045% cpu 1:11.39 total
>
> Clearly for this test, the default (0.1) results in too low a threshold
> for best performance and thus too much time spent in the GC. We reach
> a plateau around percentage=2.0.
>
> This suggests that for batch jobs maybe we should bump up
> `gc-cons-percentage` from 0.1 to something like 1.0 or 2.0.
It is important to track the memory footprint of the Emacs process in
each run (like, show the maximum VM of all the compilations, for
example), because that's the other side of the tradeoff.
- Re: Larger GC thresholds for non-interactive Emacs, (continued)
- Re: Larger GC thresholds for non-interactive Emacs, Ihor Radchenko, 2022/06/19
- Re: Larger GC thresholds for non-interactive Emacs, Stefan Monnier, 2022/06/19
- Re: Larger GC thresholds for non-interactive Emacs, Ihor Radchenko, 2022/06/20
- Re: Larger GC thresholds for non-interactive Emacs, Stefan Monnier, 2022/06/23
- Re: Larger GC thresholds for non-interactive Emacs, Ihor Radchenko, 2022/06/25
- Re: Larger GC thresholds for non-interactive Emacs, Eli Zaretskii, 2022/06/25
- Re: Larger GC thresholds for non-interactive Emacs, Stefan Monnier, 2022/06/25
- Re: Larger GC thresholds for non-interactive Emacs,
Eli Zaretskii <=
- Re: Larger GC thresholds for non-interactive Emacs, Stefan Monnier, 2022/06/18
- Re: Larger GC thresholds for non-interactive Emacs, Eli Zaretskii, 2022/06/18
- Re: Larger GC thresholds for non-interactive Emacs, Ihor Radchenko, 2022/06/18
- Lisp-level macro to avoid excessive GC in memory-allocating code (was: Larger GC thresholds for non-interactive Emacs), Ihor Radchenko, 2022/06/30
- Re: Larger GC thresholds for non-interactive Emacs, Lars Ingebrigtsen, 2022/06/21
- Re: Larger GC thresholds for non-interactive Emacs, Lars Ingebrigtsen, 2022/06/21
- Re: Org mode and Emacs, Pankaj Jangid, 2022/06/15
- Re: Org mode and Emacs, Visuwesh, 2022/06/16
- Re: Org mode and Emacs (was: Convert README.org to plain text README while installing package), Eli Zaretskii, 2022/06/12
- Re: Org mode and Emacs (was: Convert README.org to plain text README while installing package), Ihor Radchenko, 2022/06/15