From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: vc-dir operation is very slow on large git repositories in Emacs 26.1 Date: Fri, 22 Jun 2018 21:24:17 +0300 Message-ID: <83wouqptm6.fsf@gnu.org> References: <83k1qtsbgi.fsf@gnu.org> <83zhzoqkgv.fsf@gnu.org> <83efgzqjv5.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1529691735 10216 195.159.176.226 (22 Jun 2018 18:22:15 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 22 Jun 2018 18:22:15 +0000 (UTC) Cc: emacs-devel@gnu.org To: Alex Harsanyi Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jun 22 20:22:11 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fWQhE-0002Vo-NO for ged-emacs-devel@m.gmane.org; Fri, 22 Jun 2018 20:22:08 +0200 Original-Received: from localhost ([::1]:35592 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fWQjL-0005rs-TB for ged-emacs-devel@m.gmane.org; Fri, 22 Jun 2018 14:24:19 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:34998) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fWQjF-0005rE-1M for emacs-devel@gnu.org; Fri, 22 Jun 2018 14:24:13 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fWQjB-000663-3z for emacs-devel@gnu.org; Fri, 22 Jun 2018 14:24:13 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:54913) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fWQjA-00065n-W6; Fri, 22 Jun 2018 14:24:09 -0400 Original-Received: from [176.228.60.248] (port=4119 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1fWQjA-0008W2-EU; Fri, 22 Jun 2018 14:24:08 -0400 In-reply-to: (message from Alex Harsanyi on Fri, 22 Jun 2018 20:46:59 +0800) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:226595 Archived-At: > From: Alex Harsanyi > Date: Fri, 22 Jun 2018 20:46:59 +0800 > Cc: emacs-devel@gnu.org > > > Does it help to set w32-pipe-buffer-size to some large value, like > > 16384, and/or decrease w32-pipe-read-delay? > > If I set w32-pipe-read-delay to 0 the speed improvement is > significant. On top of that, there is an additional speed > improvement if I set w32-pipe-buffer-size to 16384 Can you show numbers for these speedups, and compare the times with Emacs 25. It would also be useful if you show times with different values of these, so that the optimal values could be chosen. I'd be also interested in the timings with the larger repository. > I will use both these values in my init file. I recommend against using non-default values globally, as it will bite you elsewhere. Emacs has many different use cases wrt running async subprocesses, and in most of them, the amount of produced output is quite small, or is received in relatively small chunks. The defaults are set to provide reasonable performance and responsiveness in those case, and shouldn't be changed just because this one use case needs different values. What we should do instead is bind these to non-default values in the vc-git command that produces a lot of output that needs to be read as quickly as possible. > Out of curiosity, Eli, since you mentioned that there is no > performance impact for vc-dir on your system, what values do you > use for these two variables? I didn't change the defaults, and the above should explain why. Thanks.