Juri Linkov <juri@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Eli Zaretskii <eliz@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Received: (at submit) by debbugs.gnu.org; 6 Jul 2024 00:12:42 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jul 05 20:12:42 2024 Received: from localhost ([127.0.0.1]:45232 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sPt2f-0000IX-P5 for submit <at> debbugs.gnu.org; Fri, 05 Jul 2024 20:12:42 -0400 Received: from lists.gnu.org ([209.51.188.17]:33250) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <execvy@HIDDEN>) id 1sPkH3-0001Hv-VC for submit <at> debbugs.gnu.org; Fri, 05 Jul 2024 10:50:58 -0400 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 <execvy@HIDDEN>) id 1sPkH0-000829-Lg for bug-gnu-emacs@HIDDEN; Fri, 05 Jul 2024 10:50:54 -0400 Received: from mail-oo1-xc44.google.com ([2607:f8b0:4864:20::c44]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <execvy@HIDDEN>) id 1sPkGz-0004fy-3L for bug-gnu-emacs@HIDDEN; Fri, 05 Jul 2024 10:50:54 -0400 Received: by mail-oo1-xc44.google.com with SMTP id 006d021491bc7-5c47b8c662aso839846eaf.1 for <bug-gnu-emacs@HIDDEN>; Fri, 05 Jul 2024 07:50:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720191051; x=1720795851; darn=gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=sUb52YWak6ZCvlzs0Nq/47FQfk0H39kTZgwphkQfKGg=; b=BvKCMqr7n1Mf8lqGaF6i1T9qlrcuh3o1yozWJw88OszCGuHjmxkH3jKIV5ukwA8HtY EiplJi/i8SgoqEP7prp7vpJ0qzLyY8xaIyZifOHIOhkSJUxuNy4o04FuOnLMxBcDu1ug xM7UlZRyCDwG+IlAOUS5YwE5PAqBH+uS0w0kA1/rC+IY5fjSYv83khIHqVOiSSy3OeBZ Dvj6+2qPfpn0+ItfVH9O3BxPAhSRjburzFsIH/j1aLuv7/DDacfLjAf08Czvleqp1XUZ S9jcQcjQdseZx/xEo72M+TH2Pv3KQ8U6EFLeSCKawKB25kU9bBqWtq7c1CxxFfrjntn0 LQ8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720191051; x=1720795851; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=sUb52YWak6ZCvlzs0Nq/47FQfk0H39kTZgwphkQfKGg=; b=legwSsppyvwWr9mSnwZ/BluQvgCY3YoobwlDfaoeE+YVp3aNZKb5qNS6DRsP/hmD2k BkQIn6I4OAeyUES8mCLcKIG4/wvR0BcZhyx4RtrCB4G7d97u4Qilvcwbd5zgmmmpy/wG SpOmCdKtiIshbMINKxPQwI2Fti4Nf0leUU8XGTLpNM96Uhu828rpN7YRpzZ3TQYpxj4T DqiAKM0PpzUIdjvrDPwViQ1piuTe4g/mKRAz+TBxzppHcZRZzpgk5y6V89PWjcuQpEjX 6ipCorMu/mgonTqod36e65zphunj3eutpE8xNElD5KBUglxhx7LKZn7w9ain68iegWAw ClQA== X-Gm-Message-State: AOJu0Yw3dazSTI1UyjY8sJEScsw3/Ta7mW/MkYimkdNjUyKEHz+PKTwX E5fADmYne1KfFPBy5Ribq9Es3n9ZrypHTN8KVIT79PKGrLTMOuJLpc7hIyfO853yGI7HYxDo7Bd FBQ2tmklD8wrXdwwl0OUbzgAyHaxzGlLy5LSerg== X-Google-Smtp-Source: AGHT+IE8DuZtojMzAh3APdY4c8QLTfB22rjjX+z9K4TAPjnLknyYy7cjngl4CTyw85kzaO3Vc00ZWizLEUII97ALznM= X-Received: by 2002:a05:6870:d18a:b0:24c:ac7e:8a5c with SMTP id 586e51a60fabf-25e2bb2a712mr4002054fac.21.1720191051397; Fri, 05 Jul 2024 07:50:51 -0700 (PDT) MIME-Version: 1.0 From: Eval Exec <execvy@HIDDEN> Date: Fri, 5 Jul 2024 22:50:40 +0800 Message-ID: <CAKfPJDoOsZbo9TENKJH856XML6h=tQkNVCEPcY0tOQtf8YJPzQ@HIDDEN> Subject: [PATCH] Improve tab-line-tabs-fixed-window-buffers performance To: bug-gnu-emacs@HIDDEN Content-Type: multipart/mixed; boundary="000000000000909343061c813003" Received-SPF: pass client-ip=2607:f8b0:4864:20::c44; envelope-from=execvy@HIDDEN; helo=mail-oo1-xc44.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-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Fri, 05 Jul 2024 20:12:38 -0400 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) --000000000000909343061c813003 Content-Type: text/plain; charset="UTF-8" Hello, After noticing severe lag when `buffer-list` exceeds 1000 buffers, particularly with `tab-line-switch-to-prev-tab` and `tab-line-switch-to-next-tab`, a profiler revealed that the sorting operation in `tab-line-tabs-fixed-window-buffers` heavily relies on the `seq-position` function. This reliance significantly impacts performance. To address this, I have proposed a patch to optimize the buffer sorting mechanism within `tab-line-tabs-fixed-window-buffers`. The solution involves replacing the inefficient `seq-position` calls with a hash table to cache buffer positions, which markedly enhances performance when handling large buffer lists. This is my first attempt at hacking Emacs. Do you have any suggestions on this idea? Thank you --000000000000909343061c813003 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Improve-tab-line-tabs-fixed-window-buffers-performan.patch" Content-Disposition: attachment; filename="0001-Improve-tab-line-tabs-fixed-window-buffers-performan.patch" Content-Transfer-Encoding: base64 Content-ID: <f_ly8tbnl00> X-Attachment-Id: f_ly8tbnl00 RnJvbSBhMzc4ZDdiZWMyM2JjMGIzZWMxNGVmNTY0YmIyMTVhMDUyYmU4ODFlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFdmFsIEVYRUMgPGV4ZWN2eUBnbWFpbC5jb20+CkRhdGU6IEZy aSwgNSBKdWwgMjAyNCAyMjo0NDo0MCArMDgwMApTdWJqZWN0OiBbUEFUQ0hdIEltcHJvdmUgdGFi LWxpbmUtdGFicy1maXhlZC13aW5kb3ctYnVmZmVycyBwZXJmb3JtYW5jZQoKKiBsaXNwL3RhYi1s aW5lLmVsICh0YWItbGluZS10YWJzLWZpeGVkLXdpbmRvdy1idWZmZXJzKTogSW1wcm92ZSBzb3J0 aW5nIHBlcmZvcm1hbmNlIGJ5IGhhc2h0YWJsZS4KLS0tCiBsaXNwL3RhYi1saW5lLmVsIHwgOCAr KysrKystLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9saXNwL3RhYi1saW5lLmVsIGIvbGlzcC90YWItbGluZS5lbAppbmRleCAx ZDE0ZmRhOTgyNS4uZTQ5MDhjNjE1NDIgMTAwNjQ0Ci0tLSBhL2xpc3AvdGFiLWxpbmUuZWwKKysr IGIvbGlzcC90YWItbGluZS5lbApAQCAtNTU1LDEwICs1NTUsMTQgQEAgVGhpcyBtZWFucyB0aGF0 IHN3aXRjaGluZyB0byBhIGJ1ZmZlciBwcmV2aW91c2x5IHNob3duIGluIHRoZSBzYW1lCiB3aW5k b3cgd2lsbCBrZWVwIHRoZSBzYW1lIG9yZGVyIG9mIHRhYnMgdGhhdCB3YXMgYmVmb3JlIHN3aXRj aGluZy4KIEFuZCBuZXdseSBkaXNwbGF5ZWQgYnVmZmVycyBhcmUgYWRkZWQgdG8gdGhlIGVuZCBv ZiB0aGUgdGFiIGxpbmUuIgogICAobGV0KiAoKG9sZC1idWZmZXJzICh3aW5kb3ctcGFyYW1ldGVy IG5pbCAndGFiLWxpbmUtYnVmZmVycykpCisgICAgICAgICAoYnVmZmVyLXBvc2l0aW9ucyAobGV0 ICgoaW5kZXgtdGFibGUgKG1ha2UtaGFzaC10YWJsZSA6dGVzdCAnZXEpKSkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKHNlcS1kby1pbmRleGVkCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAobGFtYmRhIChidWYgaWR4KSAocHV0aGFzaCBidWYgaWR4IGluZGV4LXRhYmxlKSkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZC1idWZmZXJzKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBpbmRleC10YWJsZSkpCiAgICAgICAgICAobmV3LWJ1ZmZlcnMgKHNv cnQgKHRhYi1saW5lLXRhYnMtd2luZG93LWJ1ZmZlcnMpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOmtleSAobGFtYmRhIChidWZmZXIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChvciAoc2VxLXBvc2l0aW9uIG9sZC1idWZmZXJzIGJ1ZmZlcikKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vc3QtcG9zaXRpdmUtZml4bnVtKSkpKSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdldGhhc2ggYnVmZmVyIGJ1ZmZlci1w b3NpdGlvbnMgbW9zdC1wb3NpdGl2ZS1maXhudW0pKSkpKQogICAgIChzZXQtd2luZG93LXBhcmFt ZXRlciBuaWwgJ3RhYi1saW5lLWJ1ZmZlcnMgbmV3LWJ1ZmZlcnMpCiAgICAgbmV3LWJ1ZmZlcnMp KQogCi0tIAoyLjQ0LjEKCg== --000000000000909343061c813003--
Eval Exec <execvy@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#71961
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.