From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= Newsgroups: gmane.emacs.devel Subject: Re: Subprojects in project.el Date: Fri, 25 Nov 2022 20:32:36 +0000 Message-ID: <87h6ymu657.fsf@gmail.com> References: <87zgcq68zp.fsf@ericabrahamsen.net> <84781346-5b88-2be5-38bb-02696fcf1364@yandex.ru> <87o7t2vj19.fsf@dfreeman.email> <877czqtyfy.fsf@dfreeman.email> <87zgcml7g7.fsf@gmail.com> <2ba04533-097a-a1da-ff3f-2c9506fd488e@yandex.ru> <875yf9bbzb.fsf@gmail.com> <87wn7oa0aw.fsf@gmail.com> <7a5b76fd-fb15-8c1e-ea29-bf11f7e0d2ae@yandex.ru> <87bkoya815.fsf@gmail.com> <0024a67d-b8e5-b35c-1b22-82541a170eb3@yandex.ru> <871qptai4d.fsf_-_@gmail.com> <86bkowdjx5.fsf@gmail.com> <43aa2f10-d947-dfcd-82b0-f6f1be3aaaec@yandex.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22102"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: Tim Cross , Stefan Monnier , Danny Freeman , Eric Abrahamsen , emacs-devel@gnu.org To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Nov 25 21:31:44 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 1oyfMN-0005ZY-Tf for ged-emacs-devel@m.gmane-mx.org; Fri, 25 Nov 2022 21:31:43 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oyfM8-0003ol-TJ; Fri, 25 Nov 2022 15:31:28 -0500 Original-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 1oyfM6-0003oO-Gn for emacs-devel@gnu.org; Fri, 25 Nov 2022 15:31:27 -0500 Original-Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oyfM4-0000zO-NQ for emacs-devel@gnu.org; Fri, 25 Nov 2022 15:31:26 -0500 Original-Received: by mail-wr1-x42e.google.com with SMTP id bs21so8356146wrb.4 for ; Fri, 25 Nov 2022 12:31:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Mi3EGmMX4cW96jNaVDaVThDkIMNV/+0SZOmovmj01dA=; b=gjcPHCFN2a0n3SShyJT4gdiVVzy18OmZcUam5WAoRfRVoopG4/v6KsygaKIPjVqnW8 r4gyZ0Wm7oQhryMAzjMMIeHw5QNsYaQjxQ7j8BPQl56D4VRSptrT+04w3Jx/11zdYzRb AQ6zfm9r9L1IrCCCwCRvGyWdVnFh+8MAntQz1KpwS4kcPnHf84fWfQTVRMvj3S+rjpDn 8u7wRBIuCyfxmYd1cZsKx2hnF2Df7JlGN1knSWzbuliMym14oLz3m2whPe0NaMcT89nJ 0RuNKFlovY8DE9sYwJNIzahw6vXJqyMcpUI9FmYfsnCf76007EPCt+oDOaEdYQEShIzC 5Fug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Mi3EGmMX4cW96jNaVDaVThDkIMNV/+0SZOmovmj01dA=; b=CV2VtxebIMxQgyMVq7l0SY+xSY4jRkzXERIzjVUR0K3H8uP7cag488pQJPbkqhedR6 7S7l92QIEsdsIp6sEGIUEoERquKN3caWqnSaY5UPK3l35XzGyeKfNpTbFEQG39MKFRdg U11cFEiN2cef/T/E301ECLto876ADok/1ZpHKf2A2VYt8CKHF1LnGAaNFG2IfKSCcmJc 26+FJyuMiBG5/vamtlUm0VlIKXWDowcEwns49/emm16byySbvZjWgat2M0HV7iJc7Fnq IdZAnvCTR41Phasc10upb+IuCYYcDlzLLZX+iuKMx4usXezKtOMzwlrGi3evaecip/5T 4OXQ== X-Gm-Message-State: ANoB5pkAjcfvYXqL5HCi2iCrT3PVZrLjgxeL/FwFQqvVCUOXfL4XS3SU QYH91DrBC2iAUC657MdFEvzjVI3xINo= X-Google-Smtp-Source: AA0mqf71KsEEyYH4B3/t8EQkQ4HUhcBIBjTXxWlw5ZmocS7id1zvH2bFcjJTGjidetsQYNeJkrLltw== X-Received: by 2002:a5d:67d0:0:b0:241:781e:606 with SMTP id n16-20020a5d67d0000000b00241781e0606mr24823892wrw.216.1669408282199; Fri, 25 Nov 2022 12:31:22 -0800 (PST) Original-Received: from krug (87-196-72-177.net.novis.pt. [87.196.72.177]) by smtp.gmail.com with ESMTPSA id x8-20020adff0c8000000b00241f632c90fsm5036378wro.117.2022.11.25.12.31.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Nov 2022 12:31:21 -0800 (PST) In-Reply-To: <43aa2f10-d947-dfcd-82b0-f6f1be3aaaec@yandex.ru> (Dmitry Gutov's message of "Fri, 25 Nov 2022 01:38:08 +0200") Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=joaotavora@gmail.com; helo=mail-wr1-x42e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:300522 Archived-At: Dmitry Gutov writes: >> I also wonder if some of the performance concerns may be premature. I've >> seen references to poor performance in projects with 400k or even 100k >> files. What is the expected/acceptable performance for projects of that >> size? How common are projects of that size? When considering >> performance, are we not better off focusing on the common case rather >> than extreme cases, leaving the extremes for once we have a known >> problem we can then focus in on? > > OT1H, large projects are relatively rare. OT2H, having a need for > subprojects seems to be correlated with working on large projects. There are medium-sized projects where sub-projects makes a lot of sense and the performance of C-x p f project-find-file is fine for both the super-project and the sub-project. But it's true that the larger the project, the more likely the need for subprojects. And it's also true, as you note, that sub-projects C-x p f might surprisingly be less performant than in the super-project. But IMO optinion the slowness of C-x p f in large projects isn't solved by git ls-files in my opinion. That can only do so much. Once the project grows large enough in files, git ls-files can be quick as lighting, but you just won't be able to cons that ginormous list of files in the project-files implementation. This is why it's important to allow project-files to return a generalized completion table. To write those tables, you will need an external tool (like "voidtool everything" on MS Windows, or GNU locate on Linux) and the "backend completion" style that I'm implementing with Stefan. Jo=C3=A3o