From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.bugs Subject: bug#40704: 28.0.50; Improve and speed up (Gnus) registry saving Date: Sun, 19 Jul 2020 16:52:29 +0200 Message-ID: <87k0yzd0b6.fsf@web.de> References: <87a738ql1z.fsf@web.de> <87o8ocuu50.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33655"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: 40704@debbugs.gnu.org, Eric Abrahamsen To: Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Jul 19 16:53:31 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1jxAh1-0008eN-Rx for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 19 Jul 2020 16:53:31 +0200 Original-Received: from localhost ([::1]:47324 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jxAh0-0002wb-Oy for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 19 Jul 2020 10:53:30 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42082) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jxAgY-0002uc-SQ for bug-gnu-emacs@gnu.org; Sun, 19 Jul 2020 10:53:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:49437) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jxAgY-0006dd-JY for bug-gnu-emacs@gnu.org; Sun, 19 Jul 2020 10:53:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jxAgY-0000HA-IM for bug-gnu-emacs@gnu.org; Sun, 19 Jul 2020 10:53:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 19 Jul 2020 14:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 40704 X-GNU-PR-Package: emacs Original-Received: via spool by 40704-submit@debbugs.gnu.org id=B40704.15951703711042 (code B ref 40704); Sun, 19 Jul 2020 14:53:02 +0000 Original-Received: (at 40704) by debbugs.gnu.org; 19 Jul 2020 14:52:51 +0000 Original-Received: from localhost ([127.0.0.1]:60983 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jxAgM-0000Gk-UV for submit@debbugs.gnu.org; Sun, 19 Jul 2020 10:52:51 -0400 Original-Received: from mout.web.de ([217.72.192.78]:50949) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jxAgI-0000GT-QI for 40704@debbugs.gnu.org; Sun, 19 Jul 2020 10:52:49 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1595170350; bh=QB6whjVL+iGDbwZgl1WcY9roh4NbbPpp0DWKtBXy1dQ=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=fZehNvDaYeRjV35Z+FZIzK6X+c3UwJ2FB2nhCBfWbIyjQ7U0EplRmWaGZXYHrJ5C1 oVpwBQJdbQh/FHAqBdrUaNahLyM1MUyfYgm53CYbizNpZyImqkXrO4sFTlZD/77BeD ABm1rkW4xICakyvMnWd5cWoNvbjn05pOauEcI4sQ= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Original-Received: from drachen.dragon ([92.208.183.182]) by smtp.web.de (mrweb103 [213.165.67.124]) with ESMTPSA (Nemesis) id 0MHY5w-1jyG4Q0i9k-003QBz; Sun, 19 Jul 2020 16:52:30 +0200 In-Reply-To: <87o8ocuu50.fsf@gnus.org> (Lars Ingebrigtsen's message of "Sun, 19 Jul 2020 04:16:11 +0200") X-Provags-ID: V03:K1:DxLsEV92YZaOsu2mdIeF7wdJIKZycSKBfZEA/jS0AUHfTrwYH03 BwUdRmK2olfp/5CORD7koP7z/W6yIO1ZObZk9/2m5nMn4LkdEdCPNTPCM739T0awEZmfLhl n+8wYW/VHr3yqXFDF81MQ/2SA8iA5S6IA69yXJlh+/Lmg2s/J6wjnSwdxgmz2z/mibw8VLr BZ5h/tn+E5Yb2sPoOUajA== X-UI-Out-Filterresults: notjunk:1;V03:K0:tOxHJkZOIjE=:3cqb1mmd6RvHHRVU5tWzvn d2MAPS+NKOjyQi7JoAwbp5FLVXRmanwaXqUGW2ZfIJaT6rCNYdMC/OVidh8qCdEj+SfYhvher lmmwuubP9q6ssvtZjU9ml6xN87XkTCNcZEZYoGeWAn9mqHqaLlR2SgoShvjQDaQNTeMSRIfxy J78SC3G1q38ylnVJxD9X1rWa2fQZia75mPqcZLOsd8EF7opuByFlvCXEZ9gacw1vs3vK8smbg LGa8fMx04KlX/VQvHYzCOqxae+KBLkEUArAxRw+6NjztcG4x3TxntqBP41v0Ldcp4UyOSj6W7 Vf38h46nWswPpCspRaXqvvo+v8bdAoQ30WjsDBVyZIpW/+urR5Sx11fP4G9Tyz84Xq99G5SRD WTmLMXnviJlJ70jYwHRmZpHiHvQca9CsuIVmw/mFlt75Ln9tAw3yfucCijYkX8/X40Qx11YeR UV/BHVbet9f/uSiPH5wC4bkBlzW4satW8ammN2uWxqSvHFbFTWYFynh395y2V+XwPtXwV4sHS USR07K5lwAlnYQYWUzwpB1wWplrAachOKMZoLI+SJVjN6pLmSLnS5c3aYace8Sb20h6R5XOzW AoS+SxWhMDPC0ngav+UKiqa4ckdyYHwYtO/ihGKFRUBWvJT+SmF4XTDRwt0/xGwYxqld9wa6u eiMzGjZo6yqofHb7Srw+15t6RsWLAchoTUwC0Z2Pt/D7O8rO7YtbDZqK+rG1wZHRG4t1PJcRm P271DpBOYh5UIrqyOoljVTK/VAg9VG9gJ68b3VLxeV+/hZzkML344AgTUD0XZeSVkCrVqsiX X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:183230 Archived-At: Lars Ingebrigtsen writes: > > + (princ "#s(hash-table size ") > > + (prin1 (hash-table-size thing)) > > + (princ " test ") > > + (prin1 (hash-table-test thing)) > > + (princ " weakness ") > > + (prin1 (hash-table-weakness thing)) > > + (princ " rehash-size ") > > etc > > So if the other printer changes, then this has to change, too? That > seems kinda brittle -- there should at least be references between the > two printers with a note to keep them updated if one of them changes. What do you mean, "other printer"? The Lisp printer? This read syntax is officially described in the Elisp manual: (info "(elisp) Creating Hash") (near the end of the page), so I would expect that the syntax will be supported in the future. > > diff --git a/lisp/gnus/gnus-registry.el b/lisp/gnus/gnus-registry.el > > index 480ed80ef8..4ac3c84a80 100644 > > --- a/lisp/gnus/gnus-registry.el > > +++ b/lisp/gnus/gnus-registry.el > > @@ -398,6 +398,7 @@ gnus-registry-save > > (interactive) > > (let* ((file (or file gnus-registry-cache-file)) > > (db (or db gnus-registry-db)) > > + (gc-cons-threshold (max gc-cons-threshold (* 800000 500))) > > (clone (clone db))) > > (gnus-message 5 "Saving Gnus registry (%d entries) to %s..." > > (registry-size db) file) > > Could this have adverse consequences for people with low memory? These are 400 MB... Could be? Dunno. I wonder, though, if when you would hit that limit when that code runs, your computer can hold that huge hash-table at all. I don't know the relation between hash-table size and corresponding amount of garbage. But I guess if you are low on memory using the registry is problematic per se. Michael.