atom/teletype-crdt

y.js versus teletype

Opened this issue · 1 comments

is this rude to ask you to compare ?

CRDT is quite complex and so it woudl be awesome if you could give your opinion.

I am planning to write a port of CRDT to Dart and golang and looking for any hints.

I am not familiar with y.js, but at a first glance it looks like a library whose aim is to provide a set of generic collaborative data structures, whereas teletype-crdt is a module specifically suited for collaborating on text documents.

On a more technical level, it seems like such data structures are based on WOOT (https://link.springer.com/chapter/10.1007/978-3-319-19890-3_55). Teletype-crdt uses similar algorithms/structures too, but it adopts splay trees and several other optimizations to improve the asymptotic complexity of common operations. I'd recommend reading the papers linked in this repository's README.md to get a better understanding at how teletype-crdt works internally.

Good luck with your port! 🍀