Skip to content

Instantly share code, notes, and snippets.

@larskuhtz
Last active April 9, 2020 00:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save larskuhtz/6f342f9c0b16843e53acb1c23aaa7405 to your computer and use it in GitHub Desktop.
Save larskuhtz/6f342f9c0b16843e53acb1c23aaa7405 to your computer and use it in GitHub Desktop.
Chainweb Performance Numbers

Updated Results [2020-04-08]

transfers (tx/min) orphan rate (%) block time (s) pact validation (ms) cut processing (ms) pending tx CPU (cores) Mem (MB) Git Rev
12,000 5% 40 (target 30) 1500-2000 1500-2000 - - - -
15,000 6-7% 40 (target 30) 2000 1500-2000 - - - -

Results

transfers (tx/min) orphan rate (%) block time (s) pact validation (ms) cut processing (ms) pending tx CPU (cores) Mem (MB) Git Rev
0 0.5-4 30 195 <500 0 1.25 < 700 332c8dbc
590 2-9 / 6-7 30 530 <1000 140 1.5 < 850 332c8dbc
1150 4-12 / 5-10 30 800 <1200 250 1.7 < 1000 332c8dbc

All values are long term moving averages across all nodes. Cut processing times vary around 25% between clusters. CPU includes about 1 core for mining.

For the orphan rate the first value is based on a 10min moving average. The second value (if provided) is based on a 1h moving average.

Glossary

  • transfers: the count of coin transfers on all chains per minute.

  • orphan rate: the percentage of all mined (and validated) blocks that have not been included into the main chain.

  • block time: the time of a new block per chain. The block time across the whole network is a tenth of this value.

  • pact validation: the time that it takes to validate a locally available payload of a block in milli seconds.

  • cut processing: the time that it takes to process a new cut in milliseconds. This include fetching all prerequesites, validating all block headers and payloads, and merging the new cut with the current cut.

  • pending tx: the number of pending transactions in the mempool of a single node.

  • CPU: the number of cores used by the chainweb-node process. Devnet nodes have foure cores in total and use about one core for in-process mining.

  • Memory: the amount of memory used by a chainweb-node proces in megabytes.

Orphan Rate

The orphan rate is a measure of how efficient the hash power of the miners and other system resources are used to support transaction throughput of the chain.

A low orphan rate means that most hash power is spent to process blocks that contribute to the winning branch.

A high orphan rate means that a lot of hash power and other system resources are “wasted” on processing blocks that don’t make it into the winning chain, but end up being on abandoned forks.

@larskuhtz
Copy link
Author

Devnet processing about 580 transfers per minute

image

@larskuhtz
Copy link
Author

Idle Devnet, miner receive rewards for processing empty blocks

image

@larskuhtz
Copy link
Author

Pact validation and cut processing times on Devnet at ~580 transfers per minute

image

@larskuhtz
Copy link
Author

Devnet processing about 1050 transfers per minute

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment