network: it is 42

32 is a very good number, but we all know 42 is a better one. And it can even
be proven by tests with higher peaking TPS values.

You may wonder why is it so good? Because we're using packet-switching
networks mostly and a packet is a packet almost irrespectively of how bit it
is. Yet a packet has some maximum possible size (hi, MTU) and this size most
of the time is 1500 (or a little less than that, hi VPN). Subtract IP header
(20 for IPv4 or 40 for IPv6 not counting options), TCP header (another 20) and
Neo message/payload headers (~8 for this case) and we have just a little more
than 1400 bytes for our dear hashes. Which means that in a single packet most
of the time we can have 42-44 of them, maybe 45. Choosing between these
numbers is not hard then.
This commit is contained in:
Roman Khimov 2022-10-24 10:43:20 +03:00
parent a17d9f80a4
commit 9efc110058

View file

@ -1580,7 +1580,7 @@ func (s *Server) initStaleMemPools() {
func (s *Server) broadcastTxLoop() { func (s *Server) broadcastTxLoop() {
const ( const (
batchTime = time.Millisecond * 50 batchTime = time.Millisecond * 50
batchSize = 32 batchSize = 42
) )
txs := make([]util.Uint256, 0, batchSize) txs := make([]util.Uint256, 0, batchSize)