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 19:56:17 +0000 Message-ID: <871qpqvme6.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> <71addecc-373e-b1f0-f190-0ce3531626a8@yandex.ru> <50bf9e49-23f0-0966-f619-88bcf35479fa@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="39038"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: Stefan Monnier , Danny Freeman , Eric Abrahamsen , emacs-devel To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Nov 25 20:56:04 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 1oyens-000A06-0o for ged-emacs-devel@m.gmane-mx.org; Fri, 25 Nov 2022 20:56:04 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oyen3-000174-Kc; Fri, 25 Nov 2022 14:55:13 -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 1oyemy-00016k-Qs for emacs-devel@gnu.org; Fri, 25 Nov 2022 14:55:08 -0500 Original-Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oyemw-00069S-Pr for emacs-devel@gnu.org; Fri, 25 Nov 2022 14:55:08 -0500 Original-Received: by mail-wr1-x435.google.com with SMTP id d1so8243318wrs.12 for ; Fri, 25 Nov 2022 11:55:06 -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=GY+tS4ir2XZIOnbEI5I7xH0NGu+nJA7OW5ym7QTUgCU=; b=eIHLWyOqgWMVh1SoBHOS0JG7ALliPshgsA7DxT21a05hgXJjOi0Jrnoz6UONZyvhMT qKIW1C61sI/lGzKwX9CvNOcTgBEkyWoDj21071kBnYl568qWiYCApiDC9e5FdVMWCZ+k a7NwKdI2d0DHNal7fkJ91Qs+mpjZ1PJeWanUsdDQXXFjkI2pGibbF/YdX+4hqB8sx27g VxgUd/F/gDlWLEmdmTmcSGoopmbTPL9L8Llz+DCq5bRAzJvED4vKZhHPJhC30u1AVSUh 4uNvGUWcFmyTAN5IFp/kUwp+alNyB7tkoKCTbIKPV7uCDerzriDmDBeOMrwP6FzhxyCc FSgQ== 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=GY+tS4ir2XZIOnbEI5I7xH0NGu+nJA7OW5ym7QTUgCU=; b=nPhI+lfvGdqN5dlFk1u2+6YijYN4WiQ50Nf5O3vQdQKu3aXYdfmQSjxyj+2OR4A+O0 8OMnLRIacE8uf/dEdbFDgW0T+dbo84hNZnjvMVLNSROfjc7vNy4QhrCrYV23Vazu0mGH WJx2jsHJUKFzZgmFCBmDAkjjgC35O9ztUiO2Q6IhKAfCr2JX54iM04OFPV3fwhGyoi7m zoCWpicC5zzxQZKZ/78/q/h1PUfOjr7rKbLGGQJCF01c7F9i/I91ZKYnzrnh/P3/79z5 KjjKmE3s3r5nVV7/dLv7ubco7foBjpHBFvBOsJWgNuFQBpX+Zs6xlTvcewBu49yrLKFz flhQ== X-Gm-Message-State: ANoB5pkQ/Q7Prwp5ERirV2LWq8NsX0AyhuuY2IeX8AdIPUjvGUjoz3jA SpdqG0ncFpWdm0rmIXs2p4oGspAr9zw= X-Google-Smtp-Source: AA0mqf7x3Gnz3iixlQa5Z8bs8gNiRQJvVm0cSzZXBml89f5KSqCvJkOmYmMZArHcYABwRnCktSP6Aw== X-Received: by 2002:adf:ef89:0:b0:22a:f477:7bb6 with SMTP id d9-20020adfef89000000b0022af4777bb6mr24578420wro.390.1669406103678; Fri, 25 Nov 2022 11:55:03 -0800 (PST) Original-Received: from krug (87-196-72-177.net.novis.pt. [87.196.72.177]) by smtp.gmail.com with ESMTPSA id l19-20020a056000023300b00241de5be3f0sm4444524wrz.37.2022.11.25.11.55.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Nov 2022 11:55:03 -0800 (PST) In-Reply-To: <50bf9e49-23f0-0966-f619-88bcf35479fa@yandex.ru> (Dmitry Gutov's message of "Fri, 25 Nov 2022 00:17:54 +0200") Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=joaotavora@gmail.com; helo=mail-wr1-x435.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:300514 Archived-At: Dmitry Gutov writes: >> Have you seen the code I posted? You'll notice that it doesn't do >> any file system operations, it just does file name operations. And >> those run in CPU/memory, not file system. So I cannot understand >> your argument.=C2=A0 But I am happy to measure performance in different >> scenarios, if you'd like to suggest a particularly problematic one. > > I am commenting here on the idea to "Call all members of > project-find-functions". Members of project-find-functions do file > system operations. > > And that's what your piece of code does (call all members): I don't expect a large number of member functions to exist there, though. At most one function looks for .git and another looks for markers like venv (or like in my example doesn't look for markers at all). I really don't expect this to be a performance sink. But since it's easy to be wrong in these guesses, we can tweak the function that looks for marker files .venv to only search if a current parent project is there, just like my example. If, on the other hand, the user's goal is to search for _both_ .git or .venv (maybe she has some non-git venv projects) then we're just going to have to look for two files and that's that. Jo=C3=A3o