From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Larger GC thresholds for non-interactive Emacs Date: Sat, 18 Jun 2022 08:58:07 +0300 Message-ID: <83y1xuo6mo.fsf@gnu.org> References: <87pmjhghu2.fsf@localhost> <835yl910gp.fsf@gnu.org> <87wndndbhq.fsf@gmail.com> <83bkuzznws.fsf@gnu.org> <877d5mqmkh.fsf@localhost> <83y1y2utnd.fsf@gnu.org> <87r13up587.fsf@localhost> <83o7yyur0l.fsf@gnu.org> <87leu2p3nu.fsf@localhost> <83leu2uewn.fsf@gnu.org> <87r13qv701.fsf@localhost> <83bkuursya.fsf@gnu.org> <87h74l9jk8.fsf@localhost> <83bkutqb3z.fsf@gnu.org> <9778F176-E724-4E61-B0FB-327BCDD316C0@acm.org> <87sfo4epeo.fsf@localhost> <87bkurrc5e.fsf@localhost> <87bkur72b7.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="25153"; mail-complaints-to="usenet@ciao.gmane.io" Cc: larsi@gnus.org, yantar92@gmail.com, mattiase@acm.org, theophilusx@gmail.com, rms@gnu.org, acm@muc.de, emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Jun 18 08:02:05 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o2RX3-0006OZ-9u for ged-emacs-devel@m.gmane-mx.org; Sat, 18 Jun 2022 08:02:05 +0200 Original-Received: from localhost ([::1]:36554 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o2RX2-0000x2-0E for ged-emacs-devel@m.gmane-mx.org; Sat, 18 Jun 2022 02:02:04 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:48624) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o2RTM-0007mz-K0 for emacs-devel@gnu.org; Sat, 18 Jun 2022 01:58:17 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:57384) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o2RTL-0007jM-Ot; Sat, 18 Jun 2022 01:58:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=qnd2D2RCjk5YKLPZ6lLLM+ZGYRncgKvYFyPNs7FGo5s=; b=BI1UJaH0lc3MzXAl66Mo JPv2oP7ARU57oAH+kIVASJaafStNCl5MLe8riKuFEmfSxirSfZdulDdCeyUfVjNp67nkny9EMlM7P sorT2iExs0lmeO63MAmYwPpVzmVD02rErmnY6IvmW682/Z4r8ezS4SaThM3vqosQZLCtQVWLmG1/z BGw8Bz6x2nPO81WsF0ArXdnoVvDo6Pr4riGiHbItxXJ2q0idEhWc32/bnq56oNnQnJgX630uK1KvE w194NJwKTMkZo9oNlg4v5qvw6/z0s6vKKkCJJDpG8jMJv6p834G5tZNVlGi4d0u7ZS91TlptjwYQM f3MViKYOa0bn6A==; Original-Received: from [87.69.77.57] (port=2509 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o2RTH-0006zN-BK; Sat, 18 Jun 2022 01:58:11 -0400 In-Reply-To: (message from Stefan Monnier on Fri, 17 Jun 2022 13:48:46 -0400) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:291334 Archived-At: > From: Stefan Monnier > Cc: Ihor Radchenko , Mattias EngdegÄrd > , Eli Zaretskii , Tim Cross > , rms@gnu.org, Alan Mackenzie , > emacs-devel > 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.