From: Dmitry Gutov <dmitry@gutov.dev>
To: "Gerd Möllmann" <gerd.moellmann@gmail.com>
Cc: Marcus Harnisch <mh-gmane@online.de>, emacs-devel@gnu.org
Subject: Re: Gap buffer problem?
Date: Thu, 12 Dec 2024 21:07:25 +0200 [thread overview]
Message-ID: <817695b4-4b10-4e63-aab8-9ab450b2d671@gutov.dev> (raw)
In-Reply-To: <m2cyhxtvb9.fsf@gmail.com>
On 12/12/2024 05:49, Gerd Möllmann wrote:
> The Zed editor, which is heavily performance-oriented, decided to use
> ropes. They have are a number of blog entries that I find interesting,
> for example
>
> https://zed.dev/blog/zed-decoded-rope-sumtree
IIUC their goal there was a use a data structure that can do everything.
They also have an ambition to support live collaboration, which we don't
have anything for, and not for the reasons of performance.
> VSCode uses persistent piece tables
>
> https://code.visualstudio.com/blogs/2018/03/23/text-buffer-reimplementation
And this article compared to the previous "array of strings" implementation.
Both editors' data structures (not ropes) seem to have something that
can be used like our "newline cache", so if anything I would try to
understand whether either has an advantage in that area.
next prev parent reply other threads:[~2024-12-12 19:07 UTC|newest]
Thread overview: 148+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <mailman.39.1723910423.12184.emacs-devel@gnu.org>
2024-08-17 22:49 ` Emacs-devel Digest, Vol 246, Issue 17 ali_gnu2
2024-08-18 0:10 ` Po Lu
2024-08-18 0:19 ` Po Lu
2024-08-18 1:15 ` Solaris dldump (was: Pure space) ali_gnu2
2024-08-18 1:25 ` Solaris dldump Po Lu
2024-08-18 22:27 ` Stefan Kangas
2024-08-18 23:56 ` Po Lu
2024-08-19 11:18 ` Eli Zaretskii
2024-08-19 12:09 ` Po Lu
2024-08-19 12:50 ` Eli Zaretskii
2024-08-19 11:44 ` Pip Cet
2024-08-19 11:57 ` Po Lu
2024-08-19 12:10 ` Pip Cet
2024-08-19 12:55 ` Eli Zaretskii
2024-08-19 13:46 ` Pip Cet
2024-08-19 14:39 ` Eli Zaretskii
2024-08-19 15:26 ` Corwin Brust
2024-08-19 15:31 ` Corwin Brust
2024-08-19 20:51 ` Stefan Kangas
2024-08-19 20:35 ` Stefan Kangas
2024-12-08 12:17 ` pdumper on Solaris 10 Pip Cet via Emacs development discussions.
2024-12-08 13:05 ` Eli Zaretskii
2024-12-08 13:52 ` Pip Cet via Emacs development discussions.
2024-12-08 14:52 ` Eli Zaretskii
2024-12-08 16:17 ` Pip Cet via Emacs development discussions.
2024-12-08 16:49 ` Eli Zaretskii
2024-12-08 17:37 ` Pip Cet via Emacs development discussions.
2024-12-08 18:41 ` Eli Zaretskii
2024-12-08 19:15 ` Gerd Möllmann
2024-12-08 20:38 ` Eli Zaretskii
2024-12-09 3:09 ` Gerd Möllmann
2024-12-09 3:32 ` Eli Zaretskii
2024-12-09 3:43 ` Gerd Möllmann
2024-12-09 4:53 ` Stefan Kangas
2024-12-09 5:26 ` Gerd Möllmann
2024-12-09 13:58 ` Eli Zaretskii
2024-12-10 0:02 ` Po Lu
2024-12-09 9:56 ` Pip Cet via Emacs development discussions.
2024-12-10 0:04 ` Po Lu
2024-12-10 3:34 ` Eli Zaretskii
2024-12-11 1:13 ` Po Lu
2024-12-11 11:29 ` Pip Cet via Emacs development discussions.
2024-12-09 4:59 ` Stefan Kangas
2024-12-09 14:39 ` Eli Zaretskii
2024-12-09 21:06 ` Merging MPS a.k.a. scratch/igc, yet again Stefan Kangas
2024-12-09 21:49 ` Óscar Fuentes
2024-12-10 4:17 ` Xiyue Deng
2024-12-10 4:26 ` Sean Whitton
2024-12-10 4:42 ` chad
2024-12-10 13:10 ` Óscar Fuentes
2024-12-10 15:10 ` Pip Cet via Emacs development discussions.
2024-12-10 15:37 ` Óscar Fuentes
2024-12-10 15:47 ` Pip Cet via Emacs development discussions.
2024-12-10 17:16 ` Eli Zaretskii
2024-12-12 4:37 ` Xiyue Deng
2024-12-19 16:02 ` Gregor Zattler
2024-12-19 17:32 ` Pip Cet via Emacs development discussions.
2024-12-19 18:12 ` Gerd Möllmann
2024-12-19 18:27 ` Eli Zaretskii
2024-12-19 18:39 ` Gerd Möllmann
2024-12-19 19:15 ` Pip Cet via Emacs development discussions.
2024-12-19 19:57 ` Gerd Möllmann
2024-12-20 6:39 ` Eli Zaretskii
2024-12-20 9:27 ` Gregor Zattler
2024-12-10 13:20 ` Eli Zaretskii
2024-12-10 14:46 ` Pip Cet via Emacs development discussions.
2024-12-10 13:09 ` Eli Zaretskii
2024-12-10 13:20 ` Óscar Fuentes
2024-12-10 14:41 ` Eli Zaretskii
2024-12-09 23:13 ` chad
2024-12-10 12:41 ` Eli Zaretskii
2024-12-10 0:09 ` pdumper on Solaris 10 Stefan Kangas
2024-12-10 12:59 ` Eli Zaretskii
2024-12-10 13:39 ` Óscar Fuentes
2024-12-10 14:39 ` Eli Zaretskii
2024-12-10 15:21 ` Óscar Fuentes
2024-12-10 16:39 ` Eli Zaretskii
2024-12-10 15:38 ` Pip Cet via Emacs development discussions.
2024-12-10 16:04 ` Óscar Fuentes
2024-12-10 17:23 ` Eli Zaretskii
2024-12-11 5:27 ` Gap buffer problem? Gerd Möllmann
2024-12-11 8:50 ` Pip Cet via Emacs development discussions.
2024-12-11 9:35 ` Gerd Möllmann
2024-12-11 11:50 ` Pip Cet via Emacs development discussions.
2024-12-11 13:22 ` Gerd Möllmann
2024-12-11 14:53 ` Pip Cet via Emacs development discussions.
2024-12-11 15:33 ` Gerd Möllmann
2024-12-11 16:58 ` Eli Zaretskii
2024-12-11 17:13 ` Gerd Möllmann
2024-12-11 17:45 ` Robert Pluim
2024-12-11 18:11 ` Gerd Möllmann
2024-12-11 19:08 ` Eli Zaretskii
2024-12-11 17:41 ` Pip Cet via Emacs development discussions.
2024-12-11 19:04 ` Eli Zaretskii
2024-12-11 19:54 ` Pip Cet via Emacs development discussions.
2024-12-11 20:26 ` Eli Zaretskii
2024-12-11 22:07 ` Dmitry Gutov
2024-12-11 19:09 ` Gerd Möllmann
2024-12-12 8:55 ` Robert Pluim
2024-12-12 10:14 ` Gerd Möllmann
2024-12-11 12:27 ` Pip Cet via Emacs development discussions.
2024-12-11 13:27 ` Gerd Möllmann
2024-12-11 15:06 ` Marcus Harnisch
2024-12-11 22:11 ` Dmitry Gutov
2024-12-12 3:49 ` Gerd Möllmann
2024-12-12 19:07 ` Dmitry Gutov [this message]
2024-12-12 19:30 ` Eli Zaretskii
2024-12-12 19:40 ` Gerd Möllmann
2024-12-12 6:01 ` Eli Zaretskii
2024-12-11 14:22 ` Eli Zaretskii
2024-12-11 15:51 ` Gerd Möllmann
2024-12-11 17:06 ` Eli Zaretskii
2024-12-11 17:15 ` Gerd Möllmann
2024-12-10 18:13 ` pdumper on Solaris 10 Gerd Möllmann
2024-12-10 15:23 ` Pip Cet via Emacs development discussions.
2024-12-10 17:08 ` Eli Zaretskii
2024-12-10 18:03 ` Gerd Möllmann
2024-12-10 19:34 ` Pip Cet via Emacs development discussions.
2024-12-10 19:59 ` Gerd Möllmann
2024-12-10 20:17 ` Pip Cet via Emacs development discussions.
2024-12-10 20:34 ` Gerd Möllmann
2024-12-11 14:13 ` Pip Cet via Emacs development discussions.
2024-12-11 17:43 ` Eli Zaretskii
2024-12-14 14:30 ` Eli Zaretskii
2024-12-15 10:55 ` Pip Cet via Emacs development discussions.
2024-12-15 11:13 ` Eli Zaretskii
2024-12-15 12:09 ` Pip Cet via Emacs development discussions.
2024-12-15 12:52 ` Eli Zaretskii
2024-12-15 19:54 ` John ff
2024-12-17 19:10 ` Paul Eggert
2024-12-17 19:43 ` Pip Cet via Emacs development discussions.
2024-12-17 20:00 ` Paul Eggert
2024-12-17 20:19 ` Eli Zaretskii
2024-12-17 21:14 ` Paul Eggert
2024-12-09 16:21 ` Pip Cet via Emacs development discussions.
2024-12-17 13:12 ` Pip Cet via Emacs development discussions.
2024-12-17 14:16 ` Eli Zaretskii
2024-12-18 0:55 ` Po Lu
2024-12-18 9:24 ` Pip Cet via Emacs development discussions.
2024-12-08 18:47 ` Pip Cet via Emacs development discussions.
2024-12-09 1:13 ` Po Lu
2024-12-09 1:08 ` Po Lu
2024-12-09 0:58 ` Po Lu
2024-12-09 3:28 ` Eli Zaretskii
2024-12-09 1:01 ` Po Lu
2024-12-09 13:11 ` Pip Cet via Emacs development discussions.
2024-12-12 23:40 Gap buffer problem? arthur miller
2024-12-13 3:19 ` Gerd Möllmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=817695b4-4b10-4e63-aab8-9ab450b2d671@gutov.dev \
--to=dmitry@gutov.dev \
--cc=emacs-devel@gnu.org \
--cc=gerd.moellmann@gmail.com \
--cc=mh-gmane@online.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.