InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises. Learn more →
Crdt-benchmarks Alternatives
Similar projects and alternatives to crdt-benchmarks
-
automerge
A JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically.
-
-
Appwrite
Appwrite - The Open Source Firebase alternative introduces iOS support . Appwrite is an open source backend server that helps you build native iOS applications much faster with realtime APIs for authentication, databases, files storage, cloud functions and much more!
-
-
-
teletype-crdt
String-wise sequence CRDT powering peer-to-peer collaborative editing in Teletype for Atom.
-
-
-
InfluxDB
Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.
-
-
-
peritext
A CRDT for asynchronous rich-text collaboration, where authors can work independently and then merge their changes.
-
state
A Redux-based state container for local-first software, offering seamless synchronization using Automerge CRDTs. (Formerly known as 🐟 Cevitxe). (by local-first-web)
-
-
dokieli
:bulb: dokieli is a clientside editor for decentralised article publishing, annotations and social interactions
-
-
-
-
-
-
citrea-model
A CRDT-based collaborative editor engine of letters.yandex.ru (2012, historical)
-
-
Sonar
Write Clean JavaScript Code. Always.. Sonar helps you commit clean code every time. With over 300 unique rules to find JavaScript bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.
crdt-benchmarks reviews and mentions
-
Cloudant/IBM back off from FoundationDB based CouchDB rewrite
So yes, a particularly large document is not the norm but it can happen.
JavaScript CRDTs can be quite performant, see the Yjs benchmarks: https://github.com/dmonad/crdt-benchmarks
- Automerge: A JSON-like data structure (a CRDT) that can be modified concurrently
- Automerge: a new foundation for collaboration software [video]
- Show HN: SyncedStore CRDT – build multiplayer collaborative apps for React / Vue
-
5000x Faster CRDTs: An Adventure in Optimization
Cool! It'd be interesting to see those CRDT implementations added to Kevin Jahns' CRDT Benchmarks page[1]. The LogootSplit paper looks interesting. It looks like xray is abandoned, and I'm not sure about teletype. Though teletype's CRDT looks to be entirely implemented in javascript[2]? If the authors are around I'd love to see some benchmarks so we can compare approaches and learn what actually works well.
And I'm not surprised these techniques have been invented before. Realising a tree is an appropriate data structure here is a pretty obvious step if you have a mind for data structures.
To name it, I often find myself feeling defensive when people read my work and respond with a bunch of links to academic papers. Its probably totally unfair and a complete projection from my side, but I hear a voice in my head reword your comment to instead say something awful like: "Cool, but everything you did was done before. Even if they didn't make any of their work practical, usable or good they still published first and you obviously didn't do a good enough literature review if you didn't know that." And I feel an unfair defensiveness arise in me as a result that wants to find excuses to dismiss the work, even if the work might be otherwise interesting.
Its hard to compare their benchmark results because they used synthetic randomized editing traces, which always have different performance profiles than real edits for this stuff. Their own university gathered some great real world data in an earlier study. It would have been much more instructive if that data set was used here. At a glance their RAM usage looks to be about 2 orders of magnitude worse than diamond-types or yjs. And their CPU usage... ?? I can't tell because they have no tables of results. Just some hard to read charts with log scales, so you can't even really eyeball the figures. So its really hard to tell if their work ends up performance-competitive without spending a couple days getting their enterprise style java code running with a better data set. Do you think thats worth doing?
-
A note from our sponsor - InfluxDB
www.influxdata.com | 2 Feb 2023
Stats
dmonad/crdt-benchmarks is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.
Popular Comparisons
- crdt-benchmarks VS automerge
- crdt-benchmarks VS diamond-types
- crdt-benchmarks VS teletype-crdt
- crdt-benchmarks VS automerge-rs
- crdt-benchmarks VS y-crdt
- crdt-benchmarks VS dotted-logootsplit
- crdt-benchmarks VS rust-crdt
- crdt-benchmarks VS MobX
- crdt-benchmarks VS yjs
- crdt-benchmarks VS fdb-document-layer