hello,I have few question when I run EOSIO v2.0.6
- is handle http requests and package transactions, and execute transactions on the multiple threads?
- Is the transaction received from the broadcast processed by a single thread?
hello,I have few question when I run EOSIO v2.0.6
nodeos has a thread pool internally. Each job you mentioned is assigned to a different thread and can be executed in parallel, but it doesn't mean each job is done in multi-threaded. For example, if there are multiple incoming transactions pushed by http-rpc, nodeos tries executing them to validate based on current state by using multiple threads, but each transaction is executed by single thread. (there is no multi-threaded infra in webassembly runtime yet)
Transactions in a block should be executed sequentially and they aren't executed in parallel. However, there are some multi-threaded points like recovering keys from signatures or executing context free actions.
This is similar in other blockchain cases, so increasing the number of cores of host system doesn't usually have noticeable improvement in performance.