Skip to content

syncomDistributed Data Sync Engine

Replicate application data between servers, browsers and peers. Every write is an op in a persisted log, so peers resume where they stopped, newcomers bootstrap from a snapshot, and every replica converges without a coordinator. Storage, schema and queries are included, and there are no runtime dependencies.

syncom

Benchmarks ​

syncom is measured against Yjs, Automerge, Loro, TinyBase, PouchDB, RxDB, Fireproof, GUN and OrbitDB on the same scenarios, in memory and on disk. Each library runs in a fresh process, is used the way its documentation shows, and is checked to give the right answer before it is timed. The chart shows an empty replica pulling a store of 1,000 records; pick another scenario or storage. syncom has the fastest cold start (about 37 ms) and serves about a million reads a second from its cache. Its writes cost more, because each one is signed, logged, filed, catalogued and chained — on disk about 1,500 a second, where the LevelDB-backed libraries do about 20,000 — and a replica verifies every op it receives, which holds a pull in memory to about 25,000 records a second, where Yjs and Loro do 100,000.

Replicate a store, in memory
An empty replica pulls a store of 1,000 records, in process, through the library's own sync protocol, until every record reads back. Nothing touches the disk. records/s, log scale, higher is better. Not shown: Fireproof (syncs through a cloud or self-hosted gateway only); GUN (needs its storage adapter to answer in Node.js).
LoroLoroDoc, a LoroMap per record · v1.16.4
105k
YjsY.Doc, a Y.Map per record · v13.6.33
99.7k
RxDBmemory storage · v17.6.0
64.1k
syncomchain: false, createMemoryFsi() · v0.0.1
26.2k
syncomdefault, createMemoryFsi() · v0.0.1
25.2k
AutomergeAutomerge.change, Counter · v3.5.0
20.9k
PouchDBpouchdb-adapter-memory · v9.0.0
17.8k
TinyBaseMergeableStore · v10.0.1
11.5k
OrbitDBdocuments, memory blockstore · v4.0.0
220
Apple M3 Max · 16 cores · Node v24.14.1 · median of 5 × 1 s samples (5 rounds for a batch or a replication), each library in a fresh process · 2026-10-22

Every scenario, the method, the cold start, the bundle sizes and syncom's own benchmarks →

Released under the MIT License.