From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#64735: 29.0.92; find invocations are ~15x slower because of ignores Date: Sun, 23 Jul 2023 16:32:02 +0300 Message-ID: <83jzuqu52l.fsf@gnu.org> References: <87jzutb14l.fsf@gmx.de> <83mszp9kl2.fsf@gnu.org> <83h6pwa52z.fsf@gnu.org> <87ilaci637.fsf@catern.com> <83sf9g88eh.fsf@gnu.org> <87pm4krq2m.fsf@localhost> <838rb881ak.fsf@gnu.org> <87mszornlq.fsf@localhost> <83351g7yn5.fsf@gnu.org> <875y6brrnk.fsf@localhost> <83fs5f6opg.fsf@gnu.org> <87351frqr7.fsf@localhost> <831qgzuh5n.fsf@gnu.org> <87tttvq8df.fsf@localhost> <83y1j7t19d.fsf@gnu.org> <87r0ozq7ze.fsf@localhost> <83v8ebszcy.fsf@gnu.org> <87v8ean99h.fsf@localhost> <83o7k2u70z.fsf@gnu.org> <87sf9en5ta.fsf@localhost> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34174"; mail-complaints-to="usenet@ciao.gmane.io" Cc: sbaugh@janestreet.com, rms@gnu.org, sbaugh@catern.com, dmitry@gutov.dev, michael.albinus@gmx.de, 64735@debbugs.gnu.org To: Ihor Radchenko Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Jul 23 15:32:15 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1qNZC3-0008eV-7x for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 23 Jul 2023 15:32:15 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qNZBr-00078t-83; Sun, 23 Jul 2023 09:32:03 -0400 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 1qNZBq-00076j-9i for bug-gnu-emacs@gnu.org; Sun, 23 Jul 2023 09:32:02 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qNZBq-0002jn-1J for bug-gnu-emacs@gnu.org; Sun, 23 Jul 2023 09:32:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qNZBp-0003Aa-Sz for bug-gnu-emacs@gnu.org; Sun, 23 Jul 2023 09:32:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 23 Jul 2023 13:32:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64735 X-GNU-PR-Package: emacs Original-Received: via spool by 64735-submit@debbugs.gnu.org id=B64735.169011910012157 (code B ref 64735); Sun, 23 Jul 2023 13:32:01 +0000 Original-Received: (at 64735) by debbugs.gnu.org; 23 Jul 2023 13:31:40 +0000 Original-Received: from localhost ([127.0.0.1]:39025 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qNZBU-0003A1-B8 for submit@debbugs.gnu.org; Sun, 23 Jul 2023 09:31:40 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47542) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qNZBR-00039k-2h for 64735@debbugs.gnu.org; Sun, 23 Jul 2023 09:31:38 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qNZBL-0001xm-BT; Sun, 23 Jul 2023 09:31:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=8WthDV1koexSuSPHEquKSnF5vOF3UGGDXZ8fsypYCgo=; b=LxBi3A775/0U otmEzaLmxGg7+Rg7Ubkq9bLwdVrGIhR6EwTavE/BD/J7M0be73U64NnBLfcrDe/CgBiFmqLaKdNdo Nmpm3ne0b6RfhUqhTn5uy3hCA3OAcPy0jH+MXqCWaFkxS733NDIcgTglCg0fMbH4VYvCIFtsubkhS zthq/3WHrvl2qcbfw75RlDXd/PwisQUAB5kG+DxChEZpDrNGyb9Sb1AuKZ3RILlq9p2SvsfYkTWwo V3n5aDKgJfo/K7kB2PC1T+Pzs4V2/ZbZXpi+jyK8QIhxD+i2GovTrJCtibkojTDyt6caiHGJJMTR7 3TNvyAnLGEojNc4IjdiumA==; Original-Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qNZBF-00040i-5N; Sun, 23 Jul 2023 09:31:25 -0400 In-Reply-To: <87sf9en5ta.fsf@localhost> (message from Ihor Radchenko on Sun, 23 Jul 2023 12:57:53 +0000) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:265902 Archived-At: > From: Ihor Radchenko > Cc: sbaugh@catern.com, sbaugh@janestreet.com, dmitry@gutov.dev, > michael.albinus@gmx.de, rms@gnu.org, 64735@debbugs.gnu.org > Date: Sun, 23 Jul 2023 12:57:53 +0000 > > Eli Zaretskii writes: > > >> > It could be "call as soon as we got 100 file names", for example. The > >> > number can even be a separate parameter passed to the API. > >> > >> Will consing the filename strings also be delayed until the callback is invoked? > > > > No. I don't think it's possible (or desirable). We could keep them > > in some malloc'ed buffer, of course, but what's the point? This would > > only be justified if somehow creation of Lisp strings proved to be a > > terrible bottleneck, which would leave me mightily surprised. > > Thanks for the clarification! > Then, would it make sense to have such a callback API more general? (not > just for listing directory files). > > For example, the callbacks might be attached to a list variable that > will accumulate the async results. Then, the callbacks will be called on > that list, similar to how process sentinels are called when a chunk of > output is arriving to the process buffer. Anything's possible, but when a function produces text, like file names, then the natural thing is either to return them as strings or to insert them into some buffer.