neoneo-go/pkg
Roman Khimov f78bd6474f network: handle incoming message in a separate goroutine
Network communication takes time. Handling some messages (like transaction)
also takes time. We can share this time by making handler a separate
goroutine. So while message is being handled receiver can already get and
parse the next one.

It doesn't improve metrics a lot, but still I think it makes sense and in some
scenarios this can be more beneficial than this.

e41fc2fd1b, 4 nodes, 10 workers

RPS    6732.979 6396.160 6759.624 6246.398 6589.841 ≈ 6545   ± 3.02%
TPS    6491.062 5984.190 6275.652 5867.477 6360.797 ≈ 6196   ± 3.77%
CPU %    42.053   43.515   44.768   40.344   44.112 ≈   43.0 ± 3.69%
Mem MB 2564.130 2744.236 2636.267 2589.505 2765.926 ≈ 2660   ± 3.06%

Patched:

RPS    6902.296 6465.662 6856.044 6785.515 6157.024 ≈ 6633   ± 4.26% ↑ 1.34%
TPS    6468.431 6218.867 6610.565 6288.596 5790.556 ≈ 6275   ± 4.44% ↑ 1.28%
CPU %    50.231   42.925   49.481   48.396   42.662 ≈   46.7 ± 7.01% ↑ 8.60%
Mem MB 2856.841 2684.103 2756.195 2733.485 2422.787 ≈ 2691   ± 5.40% ↑ 1.17%
2021-08-06 19:37:37 +03:00
..
compiler native: drop Refuel method from GAS 2021-08-05 10:27:13 +03:00
config config: update mainnet magic 2021-07-21 14:42:26 +03:00
consensus consensus: fix nonce handling 2021-07-21 19:06:19 +03:00
core core: don't recalculate witness script hash 2021-08-06 11:25:09 +03:00
crypto keys: trivial code simplification 2021-07-21 17:05:49 +03:00
encoding util: move ArrayReverse into package of its own 2021-07-19 22:57:55 +03:00
interop native: drop Refuel method from GAS 2021-08-05 10:27:13 +03:00
io stackitem: use byte-slice directly during encoding 2021-07-13 11:06:18 +03:00
network network: handle incoming message in a separate goroutine 2021-08-06 19:37:37 +03:00
rpc core: implement dynamic NEP17 balances tracking 2021-07-29 10:23:01 +03:00
services notary: fix possible deadlock in UpdateNotaryNodes 2021-07-23 14:48:00 +03:00
smartcontract Merge pull request #2093 from nspcc-dev/states-exchange/drop-nep17-balance-state 2021-07-29 19:08:42 +03:00
util slice: introduce common Copy helper 2021-07-19 22:57:55 +03:00
vm vm: don't create reference counter when it's not needed 2021-08-02 22:38:41 +03:00
wallet wallet: use named constants in Seek 2021-07-29 17:11:50 +03:00