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.devel Subject: Re: How to add pseudo vector types Date: Wed, 21 Jul 2021 16:51:27 +0300 Message-ID: <83pmvb4vxc.fsf@gnu.org> References: <83h7gw6pyj.fsf@gnu.org> <45EBF16A-C953-42C7-97D1-3A2BFEF7DD01@gmail.com> <83y2a764oy.fsf@gnu.org> <83v95b60fn.fsf@gnu.org> <00DD5BFE-D14E-449A-9319-E7B725DEBFB3@gmail.com> <83r1fz5xr9.fsf@gnu.org> <1AAB1BCC-362B-4249-B785-4E0530E15C60@gmail.com> <83czri67h0.fsf@gnu.org> <46BBFF88-76C3-4818-8805-5437409BEA93@gmail.com> <83wnpq46uk.fsf@gnu.org> <533BD53B-4E85-4E9E-B46A-346A5BBAD0F5@gmail.com> <258CB68D-1CC1-42C8-BDCD-2A8A8099B783@gmail.com> <1a776770-50b7-93cd-6591-c9a5b3a56eb8@gmail.com> <83lf654dhk.fsf@gnu.org> <2524265f-60c7-24f5-b9f4-98447c91acab@gmail.com> <8335s76h7x.fsf@gnu.org> 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="4959"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: =?utf-8?Q?Cl=C3=A9ment?= Pit-Claudel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Jul 21 15:52:29 2021 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 1m6CeC-000189-Pl for ged-emacs-devel@m.gmane-mx.org; Wed, 21 Jul 2021 15:52:28 +0200 Original-Received: from localhost ([::1]:40430 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m6CeB-0007OV-Sg for ged-emacs-devel@m.gmane-mx.org; Wed, 21 Jul 2021 09:52:27 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:38398) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m6CdF-000542-KE for emacs-devel@gnu.org; Wed, 21 Jul 2021 09:51:29 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:48156) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m6CdF-0006U1-Bk; Wed, 21 Jul 2021 09:51:29 -0400 Original-Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:4160 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 1m6CdD-00082x-HS; Wed, 21 Jul 2021 09:51:28 -0400 In-Reply-To: (message from =?utf-8?Q?Cl=C3=A9ment?= Pit-Claudel on Wed, 21 Jul 2021 09:38:31 -0400) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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" Xref: news.gmane.io gmane.emacs.devel:271412 Archived-At: > From: Clément Pit-Claudel > Date: Wed, 21 Jul 2021 09:38:31 -0400 > Cc: emacs-devel@gnu.org > > > > and then, knowing that the gap had moved, re-feeding it just the area that corresponds to the places around the boundaries of the gap might yield a speedup. You are assuming that TS will be able to process both and , even though it eats the garbage in the gap? That isn't guaranteed, due to possibly invalid byte sequences in the gap. Without synchronization, you also risk reading invalid byte sequences even outside the gap, because while you read part of a byte sequence, some editing operation modifies the buffer at that very place. > Alternatively, keeping the list of changes allows us to maintain a copy of the buffer that TS uses for scanning, with updates delayed until TS is done scanning. Having a copy for each buffer that needs parsing doesn't scale.