[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Larger GC thresholds for non-interactive Emacs
From: |
Stefan Monnier |
Subject: |
Re: Larger GC thresholds for non-interactive Emacs |
Date: |
Fri, 17 Jun 2022 13:48:46 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) |
> rm lisp/*/*.elc
> time make -j32
IIRC this test can give surprising results because it's strongly
affected by the time when the byte-compiler files get compiled which is
somewhat arbitrary.
> goes from 29s to 14s.
Wow!
Here are the results of a similar test where I tried to avoid the above
problem by also removing src/boostrap-emacs (and I also rm'd
lisp/loaddefs.el for good measure tho it was probably not a great idea),
and I used
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.
Stefan
- Re: Org mode and Emacs (was: Convert README.org to plain text README while installing package), (continued)
- Re: Org mode and Emacs (was: Convert README.org to plain text README while installing package), Ihor Radchenko, 2022/06/16
- Re: Org mode and Emacs, Stefan Monnier, 2022/06/16
- Larger GC thresholds for non-interactive Emacs (was: Org mode and Emacs), Ihor Radchenko, 2022/06/17
- Re: Larger GC thresholds for non-interactive Emacs, Stefan Monnier, 2022/06/17
- Re: Larger GC thresholds for non-interactive Emacs, Lars Ingebrigtsen, 2022/06/17
- Re: Larger GC thresholds for non-interactive Emacs, Lars Ingebrigtsen, 2022/06/17
- Re: Larger GC thresholds for non-interactive Emacs, Stefan Monnier, 2022/06/17
- Re: Larger GC thresholds for non-interactive Emacs, Lars Ingebrigtsen, 2022/06/17
- Re: Larger GC thresholds for non-interactive Emacs, Ihor Radchenko, 2022/06/18
- Re: Larger GC thresholds for non-interactive Emacs, Stefan Monnier, 2022/06/18
- Re: Larger GC thresholds for non-interactive Emacs,
Stefan Monnier <=
- Re: Larger GC thresholds for non-interactive Emacs, Lars Ingebrigtsen, 2022/06/17
- Re: Larger GC thresholds for non-interactive Emacs, Alan Mackenzie, 2022/06/17
- Re: Larger GC thresholds for non-interactive Emacs, Stefan Monnier, 2022/06/17
- Re: Larger GC thresholds for non-interactive Emacs, Lars Ingebrigtsen, 2022/06/17
- Re: Larger GC thresholds for non-interactive Emacs, Stefan Monnier, 2022/06/17
- Re: Larger GC thresholds for non-interactive Emacs, Eli Zaretskii, 2022/06/18
- Re: Larger GC thresholds for non-interactive Emacs, Lars Ingebrigtsen, 2022/06/18
- Re: Larger GC thresholds for non-interactive Emacs, Stefan Monnier, 2022/06/18
- Re: Larger GC thresholds for non-interactive Emacs, Stefan Monnier, 2022/06/17
- Re: Larger GC thresholds for non-interactive Emacs, Lars Ingebrigtsen, 2022/06/18