Internals
Implementation Details - The inner working of Yjs

CRDT Paper

Yjs is a CRDT implementation. It implements an adaptation of the YATA CRDT with improved runtime performance.
(PDF) Near Real-Time Peer-to-Peer Shared Editing on Extensible Data Types
ResearchGate

Implementation Details

Choosing efficient data structures is critical when implementing a CRDT. The following document gives an overview of the data structures used in Yjs.
yjs/INTERNALS.md at main · yjs/yjs
GitHub

Internals Visualization

Visualization of different CRDT algorithms (including Yjs/YATA and Automerge/RGA).
https://text-crdt-compare.surge.sh/

Optimizations Overview

JavaScript manages memory automatically using a garbage collection approach. Yjs is a particularly efficient implementation of the YATA CRDT that works well in the browser and in NodeJS. This article analyzes the performance of Yjs in JavaScript.
Are CRDTs suitable for shared editing?
Kevin's Blog

Codebase Walkthrough

Last modified 9mo ago