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#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers Date: Sat, 07 Oct 2023 15:05:35 +0300 Message-ID: <83zg0uzlgw.fsf@gnu.org> References: <878r919qfh.fsf@localhost> <72c93fb0-bf3e-3dad-69c0-2147cfa40f57@gutov.dev> <875y42xyex.fsf@localhost> <87zg1ewfc2.fsf@localhost> <834jjm749q.fsf@gnu.org> <87cyyawd1a.fsf@localhost> <83pm2a5k85.fsf@gnu.org> <87wmwh2tae.fsf@localhost> <83zg1d468w.fsf@gnu.org> <87bkdr2651.fsf@localhost> <87pm2584oz.fsf@localhost> <83cyy11ln1.fsf@gnu.org> <87lecp84mf.fsf@localhost> <83ttrdx8j9.fsf@gnu.org> <87a5su261p.fsf@localhost> <838r8e24yy.fsf@gnu.org> <87y1gezspg.fsf@localhost> <834jj21z05.fsf@gnu.org> <87il7izo4l.fsf@localhost> <831qe61xrh.fsf@gnu.org> <87cyxqzmhh.fsf@localhost> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="4351"; mail-complaints-to="usenet@ciao.gmane.io" Cc: dmitry@gutov.dev, 66117@debbugs.gnu.org To: Ihor Radchenko Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Oct 07 14:05:56 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 1qp64A-0000ot-E2 for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 07 Oct 2023 14:05:54 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp642-0001H4-BQ; Sat, 07 Oct 2023 08:05:46 -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 1qp641-0001Gg-0P for bug-gnu-emacs@gnu.org; Sat, 07 Oct 2023 08:05:45 -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 1qp63z-0004PT-2C for bug-gnu-emacs@gnu.org; Sat, 07 Oct 2023 08:05:43 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qp64I-00066g-2H for bug-gnu-emacs@gnu.org; Sat, 07 Oct 2023 08:06:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 07 Oct 2023 12:06:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66117 X-GNU-PR-Package: emacs Original-Received: via spool by 66117-submit@debbugs.gnu.org id=B66117.169668035723464 (code B ref 66117); Sat, 07 Oct 2023 12:06:02 +0000 Original-Received: (at 66117) by debbugs.gnu.org; 7 Oct 2023 12:05:57 +0000 Original-Received: from localhost ([127.0.0.1]:53512 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qp64D-00066O-96 for submit@debbugs.gnu.org; Sat, 07 Oct 2023 08:05:57 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:43046) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qp64A-000669-6V for 66117@debbugs.gnu.org; Sat, 07 Oct 2023 08:05:55 -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 1qp63l-0004MH-10; Sat, 07 Oct 2023 08:05:29 -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=P8+blQreZabrDvU3i4VnI51m3Zjt4hm5zk1ESS2U+Lo=; b=Kz13A4+w/rPO jhSCUaibpEQsiiWjYnhhQUbCUgO/zDN8FTAVbl6HDv3nIFaudBq3CLZK9Wj7LDHHyGKXsDKLwUnQt uVBPrbEY+2lRH3CyFNG+LcTm9rB2GKcxTTJujNda0j0QWqLgfyLS8ZY4ZlFLTKuWDWeQTzIdb/2ZU Cm6S3zEexzHgeUArsX6ytDnvvNGppG5B+T6ZJImr/XEssNl3d6fusBY9Q0/W0ELOdWMT4RR1M+f+M 9qkIh/YWCmsp2EmMKKD8mLUgUPrW1/o/uu9g8zyYUZIwSka0gmXv3Hi22UTnB+ZsElF5qYMu+FuMS Rrkf2aP86RfV/qBwDMNSWw==; In-Reply-To: <87cyxqzmhh.fsf@localhost> (message from Ihor Radchenko on Sat, 07 Oct 2023 11:43:38 +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:271997 Archived-At: > From: Ihor Radchenko > Cc: dmitry@gutov.dev, 66117@debbugs.gnu.org > Date: Sat, 07 Oct 2023 11:43:38 +0000 > > Eli Zaretskii writes: > > >> Eli Zaretskii writes: > >> > >> > So in C this is: > >> > > >> > list2 (INT_TO_INTEGER (s.st_ino), INT_TO_INTEGER (s.st_dev)); > >> > >> But how to get `s'? Do you mean that we should re-run `sys_fstat' on > >> every buffer? That's slow (query to FS), isn't it? > > > > No, it's very fast, at least on Posix hosts. But if we decide it > > isn't fast enough, we can record that in the buffer when the file is > > visited. > > I am mostly concerned about network FS, where any file operation can be > slow. My advice is to have a prototype working, then time it on local filesystems. Optimizing for networked filesystems is the next step, assuming it is needed. Please keep in mind that the current code does that as well, only from Lisp: the call to file-attributes calls 'stat', then conses the 11-member list that is the return value. So the C implementation cannot possibly be worse.