From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 05 11:34:07 2023 Received: (at submit) by debbugs.gnu.org; 5 Oct 2023 15:34:07 +0000 Received: from localhost ([127.0.0.1]:48275 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoQMZ-00074Z-Fm for submit@debbugs.gnu.org; Thu, 05 Oct 2023 11:34:07 -0400 Received: from lists.gnu.org ([2001:470:142::17]:38598) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoQMX-000745-2f for submit@debbugs.gnu.org; Thu, 05 Oct 2023 11:34:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qoQM8-0000JE-SK for bug-gnu-emacs@gnu.org; Thu, 05 Oct 2023 11:33:40 -0400 Received: from mxout5.mail.janestreet.com ([64.215.233.18]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qoQM2-0007WH-8E for bug-gnu-emacs@gnu.org; Thu, 05 Oct 2023 11:33:40 -0400 From: Spencer Baugh To: bug-gnu-emacs@gnu.org Subject: 29.1.50; vc-hg-registered/state are slow on directories of large repos Date: Thu, 05 Oct 2023 11:33:32 -0400 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=64.215.233.18; envelope-from=sbaugh@janestreet.com; helo=mxout5.mail.janestreet.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.9 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.1 (/) vc-hg-state (and vc-hg-registered, which calls vc-hg-state) are slow when run on directories of large repos. In fact they're O(N) in the number of files in the repo. This is because vc-hg-state-slow runs "hg status" on directories in a mode which lists all the files in the directory, and then it parses that list. Which is pointlessly slow. However, Hg (like git) does not actually track directories. So in the end vc-hg-state on a directory should always be returning 'unregistered, which matches the existing behavior of vc-hg (vc-hg-registered always returned nil for directories) and is much faster. (It also matches what vc-git does.) A patch to do this will follow From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 05 11:36:50 2023 Received: (at 66364) by debbugs.gnu.org; 5 Oct 2023 15:36:50 +0000 Received: from localhost ([127.0.0.1]:48280 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoQPB-000796-2L for submit@debbugs.gnu.org; Thu, 05 Oct 2023 11:36:49 -0400 Received: from mxout6.mail.janestreet.com ([64.215.233.21]:41359) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoQOu-00078U-BO for 66364@debbugs.gnu.org; Thu, 05 Oct 2023 11:36:47 -0400 From: Spencer Baugh To: 66364@debbugs.gnu.org Subject: Re: bug#66364: 29.1.50; vc-hg-registered/state are slow on directories of large repos In-Reply-To: (Spencer Baugh's message of "Thu, 05 Oct 2023 11:33:32 -0400") References: Date: Thu, 05 Oct 2023 11:36:08 -0400 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/x-patch Content-Disposition: inline; filename=0001-Optimize-vc-hg-state-for-directories.patch X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 66364 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >From 5573b678f816f81623deb7ebde66dfd3ebe92355 Mon Sep 17 00:00:00 2001 From: Spencer Baugh Date: Thu, 5 Oct 2023 11:35:25 -0400 Subject: [PATCH] Optimize vc-hg-state for directories Directories are never tracked in hg, so it's pointless to run vc-hg-state on them. And, in fact, our implementation previously would list all the files contained in the directory and then parse that in Emacs, which is very slow in large repos. Let's just use the knowledge that directories aren't tracked in hg, and skip running hg entirely. * lisp/vc/vc-hg.el (vc-hg-state): Return unregistered for directories. --- lisp/vc/vc-hg.el | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el index c3e563a1f10..9a30706f519 100644 --- a/lisp/vc/vc-hg.el +++ b/lisp/vc/vc-hg.el @@ -216,8 +216,10 @@ vc-hg-registered (defun vc-hg-state (file) "Hg-specific version of `vc-state'." - (let ((state (vc-hg-state-fast file))) - (if (eq state 'unsupported) (vc-hg-state-slow file) state))) + (if (file-directory-p file) + 'unregistered + (let ((state (vc-hg-state-fast file))) + (if (eq state 'unsupported) (vc-hg-state-slow file) state)))) (defun vc-hg-state-slow (file) "Determine status of FILE by running hg." -- 2.39.3 From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 05 12:10:24 2023 Received: (at 66364) by debbugs.gnu.org; 5 Oct 2023 16:10:24 +0000 Received: from localhost ([127.0.0.1]:48327 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoQvg-0004rE-Ci for submit@debbugs.gnu.org; Thu, 05 Oct 2023 12:10:24 -0400 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:46563) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoQvc-0004qs-5u for 66364@debbugs.gnu.org; Thu, 05 Oct 2023 12:10:22 -0400 Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 0575B5C047A; Thu, 5 Oct 2023 12:09:56 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute6.internal (MEProxy); Thu, 05 Oct 2023 12:09:56 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm1; t= 1696522196; x=1696608596; bh=UhVRdo0qZ6uoPR7UEBS71Lv/zL9kwcIersW ioLBuZgo=; b=Q5ikQuPnGzCJt/DV8S2IY7ERrgNYxQG7SqMojY141fONTo02Uy/ 6jBZgcmKi1zMSziQcAtxLIZpo8flmmOnVbioJjTTLUJZClEP67PpTFghI2MYH5/2 en932iEF/TA8i8bKHCOeyp65Q6yE26ItarPcv8jte/2GcVNxqa2gV35EI/RNL2fF 7YsF7GXwVy+1dafbnWb1v+uq6/HldU/c0ykAGB4/vMDY32bh2uZ1Tdb9rZTsE/je TkamE8G/L1OnQTEHkG+mo6BFA+jSE/oBadh7DyCHPdT6VHPbie7GkVEPJ1LZgE2m svbCB3XSYWnueC+fnGyI3rxfnBcK+2fge8A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1696522196; x= 1696608596; bh=UhVRdo0qZ6uoPR7UEBS71Lv/zL9kwcIersWioLBuZgo=; b=r I6O5DuXIelLZdWH5IbFIYw6ER9PS47PtDkjnkQ+vepUzY5vdOkNqtM27nqgBveJy gG1QnTqh0ggouq/O9wcTuSik30u2jx1QhYrNekUyzD08anp2zwKzW/Of2V8aQbpo qJ4axz9pe7g7sF39aUKGJ/NxPifiM0EmH2E5cXkXxYFW23vAtJaLlQht4qFB8vew G/d2gMlJ/EHAFflzk8iK8klAPPI4av9XahovoaH13nEfFcX49JGn7+7Wjrq8Ijtd S9Ijc7pFBV9pMu68xJ+QfV8EwF7VGdgojDvEgb05QAltd7Iws8I54Dm4xd/z5lM4 A2gdFkhyobgFFjkee7u0w== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrgeeggdelhecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefkffggfgfuvfhfhfgjtgfgsehtjeertddtfeejnecuhfhrohhmpeffmhhithhr hicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrthhtvg hrnhepgeehtdehudejieetuedttdejkeehjeetueekheffuddtjeeuvdefveeuveeiuddu necuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepughmih htrhihsehguhhtohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 5 Oct 2023 12:09:54 -0400 (EDT) Message-ID: <90fef338-cac6-aa08-bd74-5ce9e2721f76@gutov.dev> Date: Thu, 5 Oct 2023 19:09:52 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: bug#66364: 29.1.50; vc-hg-registered/state are slow on directories of large repos Content-Language: en-US To: Spencer Baugh , 66364@debbugs.gnu.org References: From: Dmitry Gutov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.2 (--) X-Debbugs-Envelope-To: 66364 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.2 (---) On 05/10/2023 18:36, Spencer Baugh wrote: > From 5573b678f816f81623deb7ebde66dfd3ebe92355 Mon Sep 17 00:00:00 2001 > From: Spencer Baugh > Date: Thu, 5 Oct 2023 11:35:25 -0400 > Subject: [PATCH] Optimize vc-hg-state for directories > > Directories are never tracked in hg, so it's pointless to run > vc-hg-state on them. And, in fact, our implementation previously > would list all the files contained in the directory and then parse > that in Emacs, which is very slow in large repos. > > Let's just use the knowledge that directories aren't tracked in hg, > and skip running hg entirely. > > * lisp/vc/vc-hg.el (vc-hg-state): Return unregistered for directories. > --- > lisp/vc/vc-hg.el | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el > index c3e563a1f10..9a30706f519 100644 > --- a/lisp/vc/vc-hg.el > +++ b/lisp/vc/vc-hg.el > @@ -216,8 +216,10 @@ vc-hg-registered > > (defun vc-hg-state (file) > "Hg-specific version of `vc-state'." > - (let ((state (vc-hg-state-fast file))) > - (if (eq state 'unsupported) (vc-hg-state-slow file) state))) > + (if (file-directory-p file) > + 'unregistered > + (let ((state (vc-hg-state-fast file))) > + (if (eq state 'unsupported) (vc-hg-state-slow file) state)))) > > (defun vc-hg-state-slow (file) > "Determine status of FILE by running hg." Perhaps we should just follow the example of vc-git-registered and return nil. Could you mention which code calls 'registered' on a directory, though? If it's in-tree, that's probably a bug too. From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 05 12:20:04 2023 Received: (at 66364) by debbugs.gnu.org; 5 Oct 2023 16:20:05 +0000 Received: from localhost ([127.0.0.1]:48348 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoR52-00056a-HS for submit@debbugs.gnu.org; Thu, 05 Oct 2023 12:20:04 -0400 Received: from mxout5.mail.janestreet.com ([64.215.233.18]:48603) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoR4z-00055t-LD for 66364@debbugs.gnu.org; Thu, 05 Oct 2023 12:20:02 -0400 From: Spencer Baugh To: Dmitry Gutov Subject: Re: bug#66364: 29.1.50; vc-hg-registered/state are slow on directories of large repos In-Reply-To: <90fef338-cac6-aa08-bd74-5ce9e2721f76@gutov.dev> (Dmitry Gutov's message of "Thu, 5 Oct 2023 19:09:52 +0300") References: <90fef338-cac6-aa08-bd74-5ce9e2721f76@gutov.dev> Date: Thu, 05 Oct 2023 12:19:37 -0400 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 66364 Cc: 66364@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Dmitry Gutov writes: > On 05/10/2023 18:36, Spencer Baugh wrote: >> From 5573b678f816f81623deb7ebde66dfd3ebe92355 Mon Sep 17 00:00:00 2001 >> From: Spencer Baugh >> Date: Thu, 5 Oct 2023 11:35:25 -0400 >> Subject: [PATCH] Optimize vc-hg-state for directories >> Directories are never tracked in hg, so it's pointless to run >> vc-hg-state on them. And, in fact, our implementation previously >> would list all the files contained in the directory and then parse >> that in Emacs, which is very slow in large repos. >> Let's just use the knowledge that directories aren't tracked in hg, >> and skip running hg entirely. >> * lisp/vc/vc-hg.el (vc-hg-state): Return unregistered for >> directories. >> --- >> lisp/vc/vc-hg.el | 6 ++++-- >> 1 file changed, 4 insertions(+), 2 deletions(-) >> diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el >> index c3e563a1f10..9a30706f519 100644 >> --- a/lisp/vc/vc-hg.el >> +++ b/lisp/vc/vc-hg.el >> @@ -216,8 +216,10 @@ vc-hg-registered >> (defun vc-hg-state (file) >> "Hg-specific version of `vc-state'." >> - (let ((state (vc-hg-state-fast file))) >> - (if (eq state 'unsupported) (vc-hg-state-slow file) state))) >> + (if (file-directory-p file) >> + 'unregistered >> + (let ((state (vc-hg-state-fast file))) >> + (if (eq state 'unsupported) (vc-hg-state-slow file) state)))) >> (defun vc-hg-state-slow (file) >> "Determine status of FILE by running hg." > > Perhaps we should just follow the example of vc-git-registered and > return nil. Also fine by me. > Could you mention which code calls 'registered' on a directory, > though? If it's in-tree, that's probably a bug too. vc-root-diff. Here's the trace: * vc-hg-registered("~/test-hg-repos/empty/") apply(vc-hg-registered "~/test-hg-repos/empty/") vc-call-backend(Hg registered "~/test-hg-repos/empty/") #f(compiled-function (b) #)(Hg) mapc(#f(compiled-function (b) #) (FE RCS CVS SVN SCCS SRC Bzr Git Hg)) vc-registered("~/test-hg-repos/empty/") vc-backend("~/test-hg-repos/empty/") vc-working-revision("~/test-hg-repos/empty/") vc-root-diff(nil t) funcall-interactively(vc-root-diff nil t) call-interactively(vc-root-diff nil nil) command-execute(vc-root-diff) From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 05 13:07:00 2023 Received: (at 66364) by debbugs.gnu.org; 5 Oct 2023 17:07:00 +0000 Received: from localhost ([127.0.0.1]:48430 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoRoS-0006Jy-Gg for submit@debbugs.gnu.org; Thu, 05 Oct 2023 13:07:00 -0400 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:38461) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoRoN-0006Jh-FR for 66364@debbugs.gnu.org; Thu, 05 Oct 2023 13:06:59 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 90CE45C04AB; Thu, 5 Oct 2023 13:06:31 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Thu, 05 Oct 2023 13:06:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm1; t= 1696525591; x=1696611991; bh=W5BmltjsMrEUSG3FyHwk/AyaY6Z2AHuDQdi P+/pPU5E=; b=GGc61YUiLJbuh0kE8686Vk5s3WCP2woEPv6cUIcTratruYuyggI kE2e+lwJ8Av/fyNrophM1CqAy8Sv4N1AQmlnkGmxi/1rBbW1rHxMrqxhbbSiRXks pz+r5ArhaUUnYU3wuAcg/cV/nXWE2NAwGK07lxng+0yxTpyF4QBZQEsQqaMnR85Y xpxeHdY0b4pXRDDQB4ZM/ijTBz13ZwxN3cTRQhEGV5zmvKDeauUWG9Yg+4Cz3ist G1pEW1uyiK/Iw6+Flv8kHj2UdQqfD4Kifnjo8dPgAqFuWC3EnY4k+V9o+FepT18I TSrQMvaSI4+KkLf/FdhMg26lgLkk+fgcCPg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1696525591; x=1696611991; bh=W5BmltjsMrEUSG3FyHwk/AyaY6Z2AHuDQdi P+/pPU5E=; b=JZBsbSLvI5JfOpsa2oD/1jOcGqiAKEzGgnH+a/IP9pC29grqh4C Qoq0kHIa4u8eUBKL+R03EbVNXvKZZf036dhrSSaf9JlrLUlkTR20DKNP/zHaoqmr xITM62YR7L3Vz2oy1T3mXfEuohEBTqRaQCmCOLt/MeIdrG+XHdR1lx3/LvDdaYtI Kmgq9EVi+aw5HsvnG0P1zKGhg1d0WKZV6eaMJDxs+dfX4NdJPi+pxwYX83tQXRHb xQ+XoXB3DJE8OX1wtAmp6/s1ae0jklsB0uvqgZUPvXKM7E8od9R77tlj+d1+B1qU tczUEFWbFDcCprZCYF/906lEa47KD8YTDvw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrgeeggddutdehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtfeejnecuhfhrohhmpeffmhhi thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth htvghrnhepiefgteevheevveffheeltdeukeeiieekueefgedugfefgefhudelgfefveel vdevnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepug hmihhtrhihsehguhhtohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 5 Oct 2023 13:06:30 -0400 (EDT) Message-ID: Date: Thu, 5 Oct 2023 20:06:28 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: bug#66364: 29.1.50; vc-hg-registered/state are slow on directories of large repos Content-Language: en-US To: Spencer Baugh References: <90fef338-cac6-aa08-bd74-5ce9e2721f76@gutov.dev> From: Dmitry Gutov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.2 (--) X-Debbugs-Envelope-To: 66364 Cc: 66364@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.2 (---) On 05/10/2023 19:19, Spencer Baugh wrote: >> Could you mention which code calls 'registered' on a directory, >> though? If it's in-tree, that's probably a bug too. > vc-root-diff. Here's the trace: > > * vc-hg-registered("~/test-hg-repos/empty/") > apply(vc-hg-registered "~/test-hg-repos/empty/") > vc-call-backend(Hg registered "~/test-hg-repos/empty/") > #f(compiled-function (b) #)(Hg) > mapc(#f(compiled-function (b) #) (FE RCS CVS SVN SCCS SRC Bzr Git Hg)) > vc-registered("~/test-hg-repos/empty/") > vc-backend("~/test-hg-repos/empty/") > vc-working-revision("~/test-hg-repos/empty/") > vc-root-diff(nil t) > funcall-interactively(vc-root-diff nil t) > call-interactively(vc-root-diff nil nil) > command-execute(vc-root-diff) Huh, it actually looks like that call is unnecessary (the result is unused). These lines just come from 2009, mostly unchanged: diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index d3e53858c16..e3b1f7fafda 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el @@ -2086,7 +2086,7 @@ vc-root-diff (vc-maybe-buffer-sync not-urgent) (let ((backend (vc-deduce-backend)) (default-directory default-directory) - rootdir working-revision) + rootdir) (if backend (setq rootdir (vc-call-backend backend 'root default-directory)) (setq rootdir (read-directory-name "Directory for VC root-diff: ")) @@ -2094,14 +2094,13 @@ vc-root-diff (if backend (setq default-directory rootdir) (error "Directory is not version controlled"))) - (setq working-revision (vc-working-revision rootdir)) ;; relative to it. Bind default-directory to the root directory ;; here, this way the *vc-diff* buffer is setup correctly, so ;; relative file names work. (let ((default-directory rootdir)) (vc-diff-internal - t (list backend (list rootdir) working-revision) nil nil + t (list backend (list rootdir)) nil nil (called-interactively-p 'interactive)))))) ;;;###autoload From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 05 17:52:37 2023 Received: (at control) by debbugs.gnu.org; 5 Oct 2023 21:52:37 +0000 Received: from localhost ([127.0.0.1]:48798 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoWGq-00038N-Px for submit@debbugs.gnu.org; Thu, 05 Oct 2023 17:52:36 -0400 Received: from mail-lj1-x229.google.com ([2a00:1450:4864:20::229]:47254) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoWGn-000385-9s for control@debbugs.gnu.org; Thu, 05 Oct 2023 17:52:35 -0400 Received: by mail-lj1-x229.google.com with SMTP id 38308e7fff4ca-2bffa8578feso17792881fa.2 for ; Thu, 05 Oct 2023 14:52:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696542728; x=1697147528; darn=debbugs.gnu.org; h=to:subject:message-id:date:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=dFUtmiyeyCHQBmWv5VdbB50dlnN5ijqk4wGugdmEh+o=; b=ZWbR6KPh5Tjxsqc5NMcPB83Gh4Vzg3UYio43uQvahRbe0fkowtfaaR/BA5ONDFt4uz yg8Hd3Gmd/V0i9HH7Gs/dVu0MgYGXMbfDYhcuxmRaA+vaEFfT0CMc4jhyNWio95Ue92u 81Co+jMZb70CtU7lOeYUUkmXrDu6VXQJu8OLyQS3cG1ciBN0b829lwv3ZabAdh25BUAH 5RKyg9hsKwy2T2G+jjUa4qPOtybjA4T/H7MWM4ndO307BmRH2NM1PP1+6sFB+0IoTWoZ UMBabt+hpn7azoyrUWUaXj8nKq5Cd2kvx2JToCJm+vsmmHXhDGivOLhg9buWUDBlvSVb L4/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696542728; x=1697147528; h=to:subject:message-id:date:mime-version:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=dFUtmiyeyCHQBmWv5VdbB50dlnN5ijqk4wGugdmEh+o=; b=oaCzpt/UyByj33ZxYNxrmnlEKZHhRXO22/3fqAnfpFYEmgmOjblWC7qzbnKs6w24JM aq8GpDMHLcM3otHrJIny6msKTbbyf+xO3vJPq9xVjr3BY5YtLmT3dar48rZNzxAns6ay fZa1H7PzU4Kh/2dLJ+G5RgPy3esmZlGOPK4+pZ5G7GATUv4ZAfrHpGWgege6+OjyNkzh sbtby1Qzfrd/AXPrCIJKU70npc8sy2uKO7L8sRrvKdXnqYeNpwXgMxZaeYZiQl/IeM1r iwY/RfK2RnSNJ8mql5hEZ9aIDXtRun0bUADONmDjMTgMbID1ViZavYS2R9ROisCAlN6u 35qw== X-Gm-Message-State: AOJu0YyEGfqk6APsCpzjsYlo4MxNBEqk1dR5T9QMHvZxj6LM/CfEMly/ kj9oGx4kE2aEK+GgWli8DHhdhq56HJCHdRhM1IrosIy0 X-Google-Smtp-Source: AGHT+IG470UVDeK7aKbUrzvkrJwzBkOq/Dm/2t68c+R1oDAkTBP13eQE+u682eNR0+OBCvl5Uk4wIzabjLLZKZE5TBo= X-Received: by 2002:a19:435c:0:b0:500:91c1:9642 with SMTP id m28-20020a19435c000000b0050091c19642mr5717693lfj.21.1696542728467; Thu, 05 Oct 2023 14:52:08 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Thu, 5 Oct 2023 21:52:08 +0000 From: Stefan Kangas MIME-Version: 1.0 Date: Thu, 5 Oct 2023 21:52:08 +0000 Message-ID: Subject: control message for bug #66364 To: control@debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) tags 66364 + patch quit From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 05 17:53:09 2023 Received: (at control) by debbugs.gnu.org; 5 Oct 2023 21:53:09 +0000 Received: from localhost ([127.0.0.1]:48810 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoWHM-0003AN-Nr for submit@debbugs.gnu.org; Thu, 05 Oct 2023 17:53:08 -0400 Received: from mail-lf1-x136.google.com ([2a00:1450:4864:20::136]:44502) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoWHJ-00039C-1F for control@debbugs.gnu.org; Thu, 05 Oct 2023 17:53:06 -0400 Received: by mail-lf1-x136.google.com with SMTP id 2adb3069b0e04-5046bf37ec1so1942932e87.1 for ; Thu, 05 Oct 2023 14:52:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696542761; x=1697147561; darn=debbugs.gnu.org; h=to:subject:message-id:date:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=ku/KN8R1NBUC7L0qjz7851Tz/6UfWOutLGfSC2BpXBk=; b=Jqr2jwfxNNcpKydP+QsI82IBEq3pe5LCvJrvDoXh9dGROQ33tf6YbR7zaBwn9NANYx zOGCIqGjjVQ78osN9ZBCnN2ozvkGcXZvC2BRqyxnQEUEjjN0sy3FVsHoojdPWhldLs7i YyDFPegkH7JtL2As+zxVRrn46mYYXFN3asUVg+Oy+3+5zLKElP4AwBAt87sXgBviPVEY aiI60pithwfUvj2M/XbohvT5X+rbQZoWilgn4X9U8hWWfwGCl6zDucGUfXDlgDlNb+c1 EqDYgIqyGTjKwVnYc41uDDUbVk5h0lMv1d4N6mO8ITwPEaCgVv0PPyuI2dbSflYIS6/h jnQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696542761; x=1697147561; h=to:subject:message-id:date:mime-version:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=ku/KN8R1NBUC7L0qjz7851Tz/6UfWOutLGfSC2BpXBk=; b=VtXaLUCPBgr3C5Xw7ZK+mF5ERG9bTtj5UThY93gny62F34sJ6bhuJuGXjaYe+eMlu7 Um5qGGSGp8Yq4RvPrAtR+TF+8AMiJf2hR8FdlgLNZ1Siaj6rpplzMeQP7Icl+RVgaWZV zGg33DUr991QRWpguzs14L0gwaOAigmRyiL8mGawJ6k7r451+9yvy+xtm3j5OcXjDp1a QiLaW/j6Io9dMlmWarA6w9WTHSmZJAnDkXTp+84D+Jc26wFZenulvtAk+DHSGa1UxYsu un8zXKQXD4sEFI7F8hjletNIJFXFu29Bb2GHBnXCuAC8UbMc4ZbVi+Ugrwc3atP4FQ8g ZEOw== X-Gm-Message-State: AOJu0Yw55bm8pkoKk/MhOLdcdYZ9q2LnHxTd0IsR51JAquemalj7JHUi C/AI7xDbidcbRIZDE7CM6EMGv8TgGCKI+oSQMdHIIgzk X-Google-Smtp-Source: AGHT+IH6qqFFf7iOEtLKDE8SitGDMtF4fdIz/yqeHyv2A3WNYApRWeIZ2WXxVZK4Z3T3CIoPULslaAl/4vDmgNoya8E= X-Received: by 2002:a05:6512:10d1:b0:503:fc2:bfaf with SMTP id k17-20020a05651210d100b005030fc2bfafmr6753637lfg.33.1696542760737; Thu, 05 Oct 2023 14:52:40 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Thu, 5 Oct 2023 21:52:40 +0000 From: Stefan Kangas MIME-Version: 1.0 Date: Thu, 5 Oct 2023 21:52:40 +0000 Message-ID: Subject: control message for bug #66364 To: control@debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) severity 66364 minor quit From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 12 21:09:59 2023 Received: (at 66364) by debbugs.gnu.org; 13 Oct 2023 01:09:59 +0000 Received: from localhost ([127.0.0.1]:44492 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qr6gg-0004Mg-NC for submit@debbugs.gnu.org; Thu, 12 Oct 2023 21:09:59 -0400 Received: from s.wfbtzhsw.outbound-mail.sendgrid.net ([159.183.224.105]:8782) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qr6ge-0004MN-6c for 66364@debbugs.gnu.org; Thu, 12 Oct 2023 21:09:57 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=catern.com; h=from:subject:in-reply-to:references:mime-version:to:cc:content-type: cc:content-type:from:subject:to; s=s1; bh=m0MOqYQO6xG3MU1bcLq6B6DsnGKMsnJnRPngr5nUn1w=; b=lxTRJVbQR5X3NwpSHn2USUk920GzBGvKB6dfvacOwm7kpiSaXjyl3XkqZJ6u4xmyZmPg uw9JVhfpcRcSw7Yd2OvTT8cf5QsZNfB4wv+B4Ja5RuAek/j+VG2AdLS3SFKCeRrQX7zpQ1 /OU25EAt1ZopB92SrS3EwxHMyauVp1pLciPwvazcas7Dui7BtJqDuOuvlVnTiMaoLIJD2v ydpd1Trt3chRncF72sg8cmdrfNgCxiUQF8v59ZXp2gkXOipAvu6G/SUrw1i4d7y9KPKcTB S3EEmQ/sQzm/vMOj4S5pvrEBguRo0FmnFbja+vuIIicxmqREbzc5Hbuf5ubVmZMg== Received: by filterdrecv-canary-f47989d4f-jc6vw with SMTP id filterdrecv-canary-f47989d4f-jc6vw-1-652898C6-2E 2023-10-13 01:09:26.820277755 +0000 UTC m=+190009.356879453 Received: from earth.catern.com (unknown) by geopod-ismtpd-84 (SG) with ESMTP id 3k4ozC94SMyZ1Geq35gsew Fri, 13 Oct 2023 01:09:26.710 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=::1; helo=localhost; envelope-from=sbaugh@catern.com; receiver=gutov.dev Received: from localhost (localhost [IPv6:::1]) by earth.catern.com (Postfix) with ESMTPSA id 07CF66005F; Thu, 12 Oct 2023 21:09:25 -0400 (EDT) From: sbaugh@catern.com Subject: Re: bug#66364: 29.1.50; vc-hg-registered/state are slow on directories of large repos In-Reply-To: (Dmitry Gutov's message of "Thu, 5 Oct 2023 20:06:28 +0300") References: <90fef338-cac6-aa08-bd74-5ce9e2721f76@gutov.dev> Date: Fri, 13 Oct 2023 01:09:26 +0000 (UTC) Message-ID: <878r87z5tm.fsf@catern.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 X-SG-EID: =?us-ascii?Q?ZgbRq7gjGrt0q=2FPjvxk7wM0yQFRdOkTJAtEbkjCkHbIw8sqXG5IEYPT8=2Fme1f2?= =?us-ascii?Q?V8vJJWYVuBe4VH9elvuJwtdIYyUqsGpoglJF2jj?= =?us-ascii?Q?mxhWEtfWZ1zO6uuY3NcugF7kQ9b348SduR7xXZw?= =?us-ascii?Q?rCDvtQrOXvZHfM39yzj7kAQhV46yJBwzNCylPTr?= =?us-ascii?Q?8ezqUO3pG=2FHmQ1ZlgkUueZjsQvgovI7pr0VY6lz?= =?us-ascii?Q?HfziFD6qfZTlNhbQc=3D?= To: Dmitry Gutov X-Entity-ID: d/0VcHixlS0t7iB1YKCv4Q== Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.5 (/) X-Debbugs-Envelope-To: 66364 Cc: Spencer Baugh , 66364@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.5 (-) --=-=-= Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Dmitry Gutov writes: > On 05/10/2023 19:19, Spencer Baugh wrote: >>> Could you mention which code calls 'registered' on a directory, >>> though? If it's in-tree, that's probably a bug too. >> vc-root-diff. Here's the trace: >> * vc-hg-registered("~/test-hg-repos/empty/") >> apply(vc-hg-registered "~/test-hg-repos/empty/") >> vc-call-backend(Hg registered "~/test-hg-repos/empty/") >> #f(compiled-function (b) #)(Hg) >> mapc(#f(compiled-function (b) #) (FE RCS CVS SVN SCCS SRC Bzr Git Hg)) >> vc-registered("~/test-hg-repos/empty/") >> vc-backend("~/test-hg-repos/empty/") >> vc-working-revision("~/test-hg-repos/empty/") >> vc-root-diff(nil t) >> funcall-interactively(vc-root-diff nil t) >> call-interactively(vc-root-diff nil nil) >> command-execute(vc-root-diff) > > Huh, it actually looks like that call is unnecessary (the result is > unused). These lines just come from 2009, mostly unchanged: > > diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el > index d3e53858c16..e3b1f7fafda 100644 > --- a/lisp/vc/vc.el > +++ b/lisp/vc/vc.el > @@ -2086,7 +2086,7 @@ vc-root-diff > (vc-maybe-buffer-sync not-urgent) > (let ((backend (vc-deduce-backend)) > (default-directory default-directory) > - rootdir working-revision) > + rootdir) > (if backend > (setq rootdir (vc-call-backend backend 'root default-directory)) > (setq rootdir (read-directory-name "Directory for VC root-diff: ")) > @@ -2094,14 +2094,13 @@ vc-root-diff > (if backend > (setq default-directory rootdir) > (error "Directory is not version controlled"))) > - (setq working-revision (vc-working-revision rootdir)) > ;; relative to it. Bind default-directory to the root directory > ;; here, this way the *vc-diff* buffer is setup correctly, so > ;; relative file names work. > (let ((default-directory rootdir)) > (vc-diff-internal > - t (list backend (list rootdir) working-revision) nil nil > + t (list backend (list rootdir)) nil nil > (called-interactively-p 'interactive)))))) > > ;;;###autoload Yes, I would be quite happy with deleting these unused lines. Although I expect it's still nice to have the same optimization that vc-git does. BTW, here's a version of my patch which follows vc-git and just returns nil for directories. --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-Optimize-vc-hg-state-for-directories.patch >From 39a453555811aad18add3272d2325c69785f89c0 Mon Sep 17 00:00:00 2001 From: Spencer Baugh Date: Thu, 12 Oct 2023 21:06:53 -0400 Subject: [PATCH] Optimize vc-hg-state for directories Directories are never tracked in hg, so it's pointless to run vc-hg-state on them. And, in fact, our implementation previously would list all the files contained in the directory and then parse that in Emacs, which is very slow in large repos. Let's just use the knowledge that directories aren't tracked in hg, and skip running hg entirely. * lisp/vc/vc-hg.el (vc-hg-state): Return nil for directories. (Bug#66364) --- lisp/vc/vc-hg.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el index c3e563a1f10..f2ee9ef35e4 100644 --- a/lisp/vc/vc-hg.el +++ b/lisp/vc/vc-hg.el @@ -216,8 +216,9 @@ vc-hg-registered (defun vc-hg-state (file) "Hg-specific version of `vc-state'." - (let ((state (vc-hg-state-fast file))) - (if (eq state 'unsupported) (vc-hg-state-slow file) state))) + (unless (file-directory-p file) + (let ((state (vc-hg-state-fast file))) + (if (eq state 'unsupported) (vc-hg-state-slow file) state)))) (defun vc-hg-state-slow (file) "Determine status of FILE by running hg." -- 2.41.0 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 14 13:02:51 2023 Received: (at 66364-done) by debbugs.gnu.org; 14 Oct 2023 17:02:51 +0000 Received: from localhost ([127.0.0.1]:50315 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qri2N-0002Te-2w for submit@debbugs.gnu.org; Sat, 14 Oct 2023 13:02:51 -0400 Received: from out2-smtp.messagingengine.com ([66.111.4.26]:53175) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qri2K-0002TO-Ge for 66364-done@debbugs.gnu.org; Sat, 14 Oct 2023 13:02:49 -0400 Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id EFAF55C01EA; Sat, 14 Oct 2023 13:02:18 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute6.internal (MEProxy); Sat, 14 Oct 2023 13:02:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm1; t= 1697302938; x=1697389338; bh=Gu0+GU9jUdC6trnJEzuGoVtoj0uzFJeSMzN FfQ+jgK0=; b=WuJBa7QNBaNcUOitFCk6lnmYVyg7qbuNioqi/4VkSURWQTiVoaQ UlJZg3BJSHIuw5bLoU7aN2/0hySl4AHFhbb3CGaMKfi/zZF7wfPz83ovbYuBabsd XgcZGQryQiQzSxm64gX4/mM0+o04L/qAyfznM+4NXhYq7S4eEFJkwxy7oYf8BOyO W0GJm/Q7vfjsyFUKDkSHtQKbrcujovffmTK7LuplID0+CxDtDD90jCVecRg7/4nd 234jUms1Z4Yfch/GSoJ6Ao7hnGt4hXYwVgQnDi/Kr+ibFb2LN2EPwpoHZ6GGBdvp +HAEM7fxw1uJQBKuVqezvYW/0I3A1Sp2Iag== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1697302938; x=1697389338; bh=Gu0+GU9jUdC6trnJEzuGoVtoj0uzFJeSMzN FfQ+jgK0=; b=gZ+xtXvfhiWMnKVcsXPKVuLS25AEpcWXTchk1pkm+cuS09FgacB 1uN6KJzNyfvFZJiMsdOp97Mn38kiZCLuKYEmVd9AmJKM8S0jDPQafK6n5HU2YjY+ AA2oCB+0Ap19v0dapRGAlZTiqwn4GkM62GfHYnGD+7PosA6fPhQUNSVdoRJNO5zU R5V/8fa4QD2M5HA+miSsN7nm2b2nUN6s2ZeecGzCTx/NkcQRVARr822xKWPtQ9DQ qp8Xkk009hYIW1idM0HcwZgttYBen2BldMg91WAC3kSMiyKq9wf310SmfUpOQC5+ OF+0NaBk7V+MR7ugF0WrqOR2pqjzBjDOg4Q== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrieehgddutdejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtfeejnecuhfhrohhmpeffmhhi thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth htvghrnhepiefgteevheevveffheeltdeukeeiieekueefgedugfefgefhudelgfefveel vdevnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepug hmihhtrhihsehguhhtohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 14 Oct 2023 13:02:17 -0400 (EDT) Message-ID: <240edc4e-b4ed-f146-8e64-c1fb5548e323@gutov.dev> Date: Sat, 14 Oct 2023 20:02:16 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: bug#66364: 29.1.50; vc-hg-registered/state are slow on directories of large repos Content-Language: en-US To: sbaugh@catern.com References: <90fef338-cac6-aa08-bd74-5ce9e2721f76@gutov.dev> <878r87z5tm.fsf@catern.com> From: Dmitry Gutov In-Reply-To: <878r87z5tm.fsf@catern.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.2 (--) X-Debbugs-Envelope-To: 66364-done Cc: Spencer Baugh , 66364-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.2 (---) On 13/10/2023 04:09, sbaugh@catern.com wrote: > Yes, I would be quite happy with deleting these unused lines. Although > I expect it's still nice to have the same optimization that vc-git does. > > BTW, here's a version of my patch which follows vc-git and just returns > nil for directories. Certainly. Installed both patches, thank you, and closing. From unknown Sat Aug 16 19:18:08 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 12 Nov 2023 12:24:16 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator