Skip to content

Instantly share code, notes, and snippets.

@larskuhtz
Last active April 9, 2020 00:03
Show Gist options
  • Select an option

  • Save larskuhtz/6f342f9c0b16843e53acb1c23aaa7405 to your computer and use it in GitHub Desktop.

Select an option

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
Copy Markdown
Author

Devnet processing about 580 transfers per minute

image

@larskuhtz

Copy link
Copy Markdown
Author

Idle Devnet, miner receive rewards for processing empty blocks

image

@larskuhtz

Copy link
Copy Markdown
Author

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

image

@larskuhtz

Copy link
Copy Markdown
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