I was recently wondering what kind of performance tuning options can be specified while building a Substrate node. Motivation for doing this is based on the benchmark I ran on machines that utilize AMD Ryzen CPUs - performance of benchmarked CPU functions were 10-15% better when running a binary compiled specifically for Ryzen CPU (with
-C target-cpu=znver3 flag).
This is the command I ran
polkadot benchmark machine --chain polkadot --verify-duration 60
So I started to wonder what other compiler options can be applied in order to tune node performance to max and this is where a lot of Substrate developers hangs out so it seems like a good place to ask. Basically I have two questions regarding this topic
- How exactly node performance affects collecting points for activities in the active set (say on Kusama or Polkadot)? Especially when being a parachain validator
- What can be done to get the maximum out of your node performance aside from having dedicated hardware* and good network latency?
*dedicated hardware obviously means bare metal machine with CPU having a good single-thread performance, NVMe drives and so on