Gocoin Logo

Performance

Charts below present system memory and time needed to sync BTC block chain up to the given block number.

Note:
Gocoin uses (configurable) LastTrustedBlock to avoid verifying scripts from all blocks known as valid.
Referenced Bitcoin Core uses an identical mechanism (configurable with assumevalid parameter).
Both implementations come with a recent trusted block built into their code (no need to configure them explicitly).

Gocoin 1.11.0, built with Go 1.25.0*

Benchmarks were run on Hetzner dedicated server with 3.2GHz Intel i7-8700 CPU, 128GB RAM, 2x1TB SSD and 1Gbit internet connection, running Debian 12 (bookworm).
*) Built with GOAMD64=v3 and GOEXPERIMENT=greenteagc.

Chain sync speed vs Gocoin 1.10.4 vs Bitcoin Core 29.0


Note: default config was used, if not mentioned otherwise

Effect of Memory.CacheOnDisk config value on blockchain sync speed


Possible chain sync speed with a tweaked* configuration


*) Changed config values:
  • Net.MaxOutCons: 40
  • Memory.GCPercTrshold: -1
  • Memory.MemoryLimitMB: 120000
  • Memory.UseGoHeap: true
  • Memory.CacheOnDisk: false
  • MaxSyncCacheMB: 6000
  • CompressBlockDB: false