Computer Science > Distributed, Parallel, and Cluster Computing
[Submitted on 21 Sep 2024]
Title:Collaborative Text Editing with Eg-walker: Better, Faster, Smaller
View a PDF of the paper titled Collaborative Text Editing with Eg-walker: Better, Faster, Smaller, by Joseph Gentle and Martin Kleppmann
View PDF
HTML (experimental)
Abstract:Collaborative text editing algorithms allow several users to concurrently modify a text file, and automatically merge concurrent edits into a consistent state. Existing algorithms fall in two categories: Operational Transformation (OT) algorithms are slow to merge files that have diverged substantially due to offline editing; CRDTs are slow to load and consume a lot of memory. We introduce Eg-walker, a collaboration algorithm for text that avoids these weaknesses. Compared to existing CRDTs, it consumes an order of magnitude less memory in the steady state, and loading a document from disk is orders of magnitude faster. Compared to OT, merging long-running branches is orders of magnitude faster. In the worst case, the merging performance of Eg-walker is comparable with existing CRDT algorithms. Eg-walker can be used everywhere CRDTs are used, including peer-to-peer systems without a central server. By offering performance that is competitive with centralised algorithms, our result paves the way towards the widespread adoption of peer-to-peer collaboration software.
| Comments: | |
| Subjects: | Distributed, Parallel, and Cluster Computing (cs.DC) |
| Cite as: | arXiv:2409.14252 [cs.DC] |
| (or arXiv:2409.14252v1 [cs.DC] for this version) | |
| https://doi.org/10.48550/arXiv.2409.14252
arXiv-issued DOI via DataCite
|
|
| Related DOI: | https://doi.org/10.1145/3689031.3696076
DOI(s) linking to related resources
|
Full-text links:
Access Paper:
- View PDF
- HTML (experimental)
- TeX Source
View a PDF of the paper titled Collaborative Text Editing with Eg-walker: Better, Faster, Smaller, by Joseph Gentle and Martin Kleppmann
References & Citations
Loading...
BibTeX formatted citation
Data provided by:
Which authors of this paper are endorsers? |
Disable MathJax (What is MathJax?)