skalenetwork / skale-consensus

Running the very core of SKL network, SKALE BFT consensus is universal, modern, modular, high-performance, asynchronous, provably-secure, agent-based Proof-of-Stake blockchain consensus engine in C++ 17. Includes provably secure embedded Oracle. Used by SKALE elastic blockchains. Easy and flexible enough to implement your own blockchain or smart contract platform. BLS signatures and Binary Asynchronous Consensus are main building blocks.
https://docs.skale.network/technology/consensus-spec
GNU Affero General Public License v3.0
78 stars 32 forks source link

Improve consensus throughput performance by 15% #806

Closed kladkogex closed 3 months ago

kladkogex commented 1 year ago

Describe the feature you would like:

Improve consensus throughput by 15%

Many small improvements to consensus to improve performance

PolinaKiporenko commented 3 months ago

3.19.0-beta.0

oleksandrSydorenkoJ commented 2 months ago

Consensus in the 2.4 release works 3.2 times faster than in 2.3. 2.3 - skale_schain_black-spherical-graffias (16 of 16) 2.4: skale_schain_carefree-knowing-sarin - (13 of 16 active nodes )

55 blocks:

3.18.2

Total BLOCK_TXS : 15511
Average CWT: 2342.616666666667
Average SWT: 97.48333333333333
Average TLWT: 165.63333333333333
Average SBPT: 1194.7333333333333
Timeout between first and last timestamp: 0:02:28.038000
Average block mining time: 1.2419833333333332

3.19.0-beta.0

Total BLOCK_TXS : 1041
Average CWT: 732.2407407407408
Average SWT: 6.462962962962963
Average TLWT: 10.462962962962964
Average SBPT: 165.0
Timeout between first and last timestamp: 0:00:40.127000
Average block mining time: 0.38080555555555556
oleksandrSydorenkoJ commented 2 months ago

blocked by https://github.com/skalenetwork/skaled/issues/1919