From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: vincent.belaiche@gmail.com (Vincent =?iso-8859-1?Q?Bela=EFche?=) Newsgroups: gmane.emacs.devel Subject: Recentf cleanup optmization Date: Sat, 05 Sep 2009 08:32:39 +0200 Message-ID: <87iqfxnbp4.fsf@gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: ger.gmane.org 1252133288 31902 80.91.229.12 (5 Sep 2009 06:48:08 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 5 Sep 2009 06:48:08 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Sep 05 08:48:01 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1Mjp3f-0004AB-HM for ged-emacs-devel@m.gmane.org; Sat, 05 Sep 2009 08:48:00 +0200 Original-Received: from localhost ([127.0.0.1]:50721 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Mjp3e-0007b6-LS for ged-emacs-devel@m.gmane.org; Sat, 05 Sep 2009 02:47:34 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MjonK-0000Pt-Fp for emacs-devel@gnu.org; Sat, 05 Sep 2009 02:30:42 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MjonE-0000Pf-IZ for emacs-devel@gnu.org; Sat, 05 Sep 2009 02:30:40 -0400 Original-Received: from [199.232.76.173] (port=46086 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MjonE-0000Pc-EO for emacs-devel@gnu.org; Sat, 05 Sep 2009 02:30:36 -0400 Original-Received: from smtp2e.orange.fr ([80.12.242.113]:27249) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MjonC-0004aJ-8X for emacs-devel@gnu.org; Sat, 05 Sep 2009 02:30:36 -0400 Original-Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf2e26.orange.fr (SMTP Server) with ESMTP id 43F1580000A2 for ; Sat, 5 Sep 2009 08:30:32 +0200 (CEST) Original-Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf2e26.orange.fr (SMTP Server) with ESMTP id 3898E8000047 for ; Sat, 5 Sep 2009 08:30:32 +0200 (CEST) Original-Received: from COCOTTE (ARennes-256-1-128-203.w90-32.abo.wanadoo.fr [90.32.127.203]) by mwinf2e26.orange.fr (SMTP Server) with ESMTP id 3E32580000A2 for ; Sat, 5 Sep 2009 08:30:31 +0200 (CEST) X-ME-UUID: 20090905063031254.3E32580000A2@mwinf2e26.orange.fr X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. X-Mailman-Approved-At: Sat, 05 Sep 2009 02:46:56 -0400 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:115041 Archived-At: --=-=-= Content-Disposition: inline Dear Emacs expert, I realized that recentf cleanup is very slow when you have a long list of saved items (e.g. as few as 60). This is because there is a duplicate suppression based on linear search (quadratic time). Starting from latest code on CVS I made an optimization using a hash table, and this solves the issue. Please find it herein attached. Best regards, Vincent. --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=recentf.tgz Content-Transfer-Encoding: base64 Content-Description: Optimization H4sICOKenkoAA3JlY2VudGYudGFyAO19a1MbSZZof13F/ogMzWUk9SAMtKcfeGJ2aDd2s4OxA+Pp 22F8g0IqQQ2iSq0qgdmNvb/9nle+sySBu/vGblix62mqsvJx8uTJ8z7zfJSXzWQrn37xm/22d7a3 v3769Itt+H3zNf3vzvbTbfp7e+fpV7tf736xs7P79Js/73zz1fZX0P6rP3+984Xa/u2mZH+Lusnm Sn1xe7EcAvvjm6Is6maeNfliXv8eU/s9fs+ePVNzgwNqOByqOm8WM5Wpm7xcqGoir6f3qprlZT5W k2Ka150OfPi8mt3Pi8urRvWfD9TOd999t6l2YU/p3x36d5f+/Yr+fbqJHyn8zz/Tg6/p32/o32/p 3+/Ui3meq7fVpLnL5rl6US3KcdYUVbmpDsvRFg27v2iuqvme+iG7LcbqTVWOcvWXMf7xt/EM/9oa VTd/pQnOc9iu8Z769wXMf+c7miO++Ht+f1fNx/Wes5rTq6KmPxX87yybN7j4l8fv1MFNNqp5aPMn tpngVGuZ6p66rxZqlJUArzHiSXGxaKCrRmXl+Ek1VzfVuJjcYyfwDFaVz1Vzlasmn9/UOBL+gd2/ BCDPs6l6s7iYFiN1VAD061xlMCd8Ul/BFlxQP/hFO7jyAt7P1W0+r+Fv9ZUeQzrcVNUcO+lnDc58 DruL3w1guvdqClAznyZWbhc4VkVJ3V4BdsB/QG+wvLtiOlUXuVrU+WQxpW2Hxuqnw9MfX787VfvH P6uf9k9O9o9Pf34GjWE74W1+m3NXxc1sWkDPsKR5VjaAeBPs4dXByfMf4ZP97w+PDk9/hvmrF4en xwdv36oXr0/Uvnqzf3J6+Pzd0f6JevPu5M3rtwdbSr3NcVq5XkILdCe0QQDBcd5kxVR2+2fY0Rrm Nh2rq+w2p5NQ3MLMMjUC1F+9a9hJNq3KS1qkg0xKHU5UWTWbcNoAea+aZrb35Mnd3d3WZbnYquaX T6bcQ/3krzQXPGw3cCKBWN3vWXSdZaPr7DJXN1kBr4qy1ucWF3Rb1EVTwOCE47w5dzksErYKydgY u6lKc8BhVj9dwR7kZXYxpVWW+Z3qvoZjr06oTVfViwseoKjxa0CE2TS7t2jQfYFjdakN9Hd6lUv3 MglA4Ea+zRZNdQPIOsqmcDjrjAA7mld1LYgGq0f8Q2j9LGdrBOS6uin+w+xpubi5AFQ1ZEqGMfPa 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 AQA= --=-=-=--