Define environments in which transactions are considered
In order to find bottlenecks in the system, it makes sense to:
- Replace different parts of the system with dummy implementations that are almost instantaneous in order to minimize their contribution to the processing time. Candidates for this are: p2p layer, network, mempool, etc.
- Lift constraints such as gas estimation and block size.
- Consider the baker in a network with just one node/baker or in a larger network.
- Tweak compilation options such as GC.
Also, figure out what is the easiest environment/setup to implement as a starting point for the benchmarking app.
Edited by Mark Karpov