[Bitcoin-development] Announcement: libcoin

Gregory Maxwell gmaxwell at gmail.com
Thu Feb 2 17:12:04 UTC 2012

On Wed, Feb 1, 2012 at 9:18 AM, Michael Grønager
<gronager at ceptacle.com> > The libcoin/bitcoind client downloads the
entire block chain 3.5 times faster than the bitcoin/bitcoind client.
This is less than 90 minutes on a modern laptop!

I'm guessing that you benchmarked this against the version you forked
from rather than the current reference client?

If so— I suspect your speedup was almost entirely because you removed
the secure allocator and as a result fixed the mlock performance bug
[https://bitcointalk.org/index.php?topic=56491.0] as a side effect. On
some systems the mlock issue makes a very big difference (on other
systems not so much).

In any case, I finally got libbitcoin built and I'm disappointed to
report that in the same time it takes the reference client to fully
sync, libbitcoin only made it to height 138k (of course, because the
time is mostly spent late in the chain 138k is not very far along— I'm
guessing it's going to take libbitcoin 3x-4x longer all said)

I assume the reason it's actually slower is because it's CPU bound on
ECDSA checks, which are skipped in bitcoin in blocks up to the highest
hardcoded checkpoint.  Without that difference I suspect libbitcoin
would be about the same speed— maybe a little faster because of the
other changes you mentioned (though, e.g. lock profiling shows hardly
any contention during sync).

I don't doubt your rpc performance is a lot better. There is a
longstanding pull request for async rpc for the reference client that
hasn't been merged.

More information about the bitcoin-dev mailing list