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#61726: [PATCH] Eglot: Support positionEncoding capability Date: Fri, 24 Feb 2023 13:38:48 +0200 Message-ID: <83mt53nvhz.fsf@gnu.org> References: <87a614g628.fsf@gmail.com> <83cz60r7hu.fsf@gnu.org> <875ybsfvtj.fsf@gmail.com> <831qmgr17p.fsf@gnu.org> <87wn48ecdz.fsf@gmail.com> <83v8jspgnr.fsf@gnu.org> <87lekodxja.fsf@gmail.com> <83a614p4sh.fsf@gnu.org> <87cz60dus9.fsf@gmail.com> <835ybrpnqj.fsf@gnu.org> <87y1oncz09.fsf@gmail.com> <83r0ufo3uc.fsf@gnu.org> <87356vbf0b.fsf@gmail.com> <87wn479vj7.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="21184"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 61726@debbugs.gnu.org, joaotavora@gmail.com To: Augusto Stoffel Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Feb 24 12:39:17 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 1pVWPz-0005Kz-Jd for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 24 Feb 2023 12:39:15 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pVWPo-0004j1-7v; Fri, 24 Feb 2023 06:39:04 -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 1pVWPm-0004ir-KD for bug-gnu-emacs@gnu.org; Fri, 24 Feb 2023 06:39:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pVWPm-0000XP-8v for bug-gnu-emacs@gnu.org; Fri, 24 Feb 2023 06:39:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pVWPl-0006TP-NY for bug-gnu-emacs@gnu.org; Fri, 24 Feb 2023 06:39:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 24 Feb 2023 11:39:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 61726 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 61726-submit@debbugs.gnu.org id=B61726.167723873624869 (code B ref 61726); Fri, 24 Feb 2023 11:39:01 +0000 Original-Received: (at 61726) by debbugs.gnu.org; 24 Feb 2023 11:38:56 +0000 Original-Received: from localhost ([127.0.0.1]:36127 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pVWPf-0006T2-Qy for submit@debbugs.gnu.org; Fri, 24 Feb 2023 06:38:56 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:54490) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pVWPe-0006Sq-8k for 61726@debbugs.gnu.org; Fri, 24 Feb 2023 06:38:54 -0500 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 1pVWPY-0000Hr-QK; Fri, 24 Feb 2023 06:38:48 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=BaNFvsO14auCRRWpqi2CeJPdKGLIOswzxXsq2IEQirQ=; b=Bam/YZL61yD8SWQACq3r TYLfS5ahCBTiUkoSVAN52GDTaRZhjpPuAqJpEGz83Y3r19ChSZtKVzoQCcCLE41tDz+PPJoHg4axm 4HPSrrgaAkBI+zlmnUC8mWcEaq8rhTHsv7I01iK/WsV7HwxwYZ1NH5zaGQZoTIPZ0Y5C8t9ZEfnWO C3rFMSCoGF7tBvw1eKH9VLRm/KfUo4sjKaldbgzV/ihGR54FMzh+zlRoBZp+iu7q7FFDkgDcNwGpx lp4qTgLJXhR2p8ioBo4Phev5T8qKcwzlzM8mHU+nZWxMnu7s+tTzsM6MSlbjpx2muItL0+4NngdFn UOQUrDy9z2ArTw==; 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 1pVWPY-00029H-7I; Fri, 24 Feb 2023 06:38:48 -0500 In-Reply-To: <87wn479vj7.fsf@gmail.com> (message from Augusto Stoffel on Fri, 24 Feb 2023 12:01:48 +0100) 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:256568 Archived-At: > From: Augusto Stoffel > Cc: Eli Zaretskii , 61726@debbugs.gnu.org > Date: Fri, 24 Feb 2023 12:01:48 +0100 > > On Fri, 24 Feb 2023 at 10:20, João Távora wrote: > > > The second thing I don't like is also due to the late-binding idea. > > This is a hotspot in Eglot, some of these functions are called > > many many times, for each LSP server interaction depending > > on how many document positions are exchanged (and they can > > be a lot). I do remember benchmarking strategies at the time > > and seeing a perceptible difference. Plus, this late-binding is > > really useless as a server will guaranteedly _not_ change its > > column-counting standard during the LSP session. > > `eglot-lsp-abiding-column' allocates a new string! If that is a concern, eglot.el could use a private temporary buffer into which the encoded text is inserted, eliminating the need to call 'length'. The impact of that in performance should be measured, of course, to make sure it doesn't make code slower; it will definitely improve the GC pressure aspect.