Neo 3.0.0-preview4 nodes benchmarking

neo-bench updates

As usual, we’re using neo-bench to test nodes, and as usual, it has improved since our last post. There were some internal improvements like configuration templating and the ability to build C# node from source code, a number of minor bug fixes, but one change stands out significantly: transaction-pushing code was reworked to handle congested mempools correctly.

Testing setup

For easier relative comparisons we open this test with our regular Core i7–8565U CPU and 16 GB memory setup. We’re using c5b065f770356689852d641b43e986b4b2623991 neo-bench commit, preview4 release binaries for C# node and commit 25435bbb5251010388128ffe814a7b229859d983 of NeoGo (version 0.92.0).

Single-node performance

Four nodes consensus test

Cores, lots of cores

Sixteen real and sixteen virtual cores make Ryzen 9 5950X a good CPU for any kind of benchmarking. Paired with 64 GB of RAM (and a nice SSD, of course), this system allows to unleash more of real node potential (for any implementation). It also has enough room to see how nodes scale. We’ve run the same set of tests using this machine, and the results we have are quite interesting.

Single-node

Four nodes

Conclusions

As Neo 3 development continues, both nodes keep improving their performance and reaching new heights. C# node now easily reaches 5K TPS in single-mode and 1K in four-node privnet, while NeoGo is closing the year 2020 with 20K TPS reached in single-node setup and 6K TPS in four-node privnet. We’ll see what 2021 will bring to the table, but we hope that these metrics will allow us to drive a DeFi-enabled future.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store