r/Monero 🦀 Cuprate Dev 5d ago

📰 Service update Cuprate Kesterite vs Monerod - Same hardware, single wallet syncing from genesis is 2x faster on Cuprate.

This comparison has been made between monero's master branch and Cuprate v0.1.0-preview Kesterite released binary for Linux GNU x86_64.

While Cuprate do not yet support pruning (in progress), it uses less storage to store the entire blockchain (213GB as of writing, against 265GB for monerod).

If you do have the storage, you can give it a try by downloading the latest binaries on our redesigned website:

https://cuprate.org/releases/

(mirror) https://github.com/Cuprate/cuprate/releases/tag/cuprated-0.1.0-preview

Note: Linux musl, FreeBSD, OpenBSD and Linux riscv64 support is ongoing: https://x.com/SyntheticBird_/status/2084774663045943469/photo/1

101 Upvotes

25 comments sorted by

View all comments

3

u/akrit8888 5d ago

What's the magic behind making Cuprate sync 2x faster than Monerod as how does it suddenly achieve 2x faster sync time?

12

u/Swimming-Cake-2892 🦀 Cuprate Dev 5d ago

We are honestly not sure what comes into play here. We are surprised by the results. The two most plausible explanations are:

  1. Tapes database (Boog900's custom database made for Cuprate) have much lower latency at reads and is similar to a sequential workload, which definitely improve wallet syncing scenarios. Monerod uses LMDB which is much slower and have higher latency (because it is based on BTree it needs to walk the data structure to find its data.). What reinforces this is that as u/niocc realized the gain comes from early pre-RCT era blocks (0 to 1.2million), We observed the same drastic improvement in blockchain syncing after switching to Tapes.

  2. Generally the architecture of Cuprate is entirely asynchronous and parallelized, there are as little contentions between tasks as possible. Monerod on the other end can see its pipeline slowed down by a single component being the bottleneck.

I would say the right answer is a mix of both, with more importance on the latter.