You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are looking into ways to accelerate the simulator (for deeper explorations of the state space) and we found that aside from the GC, the biggest bottleneck seems to be the type reflection used in go-amino.
Would it be possible to have a flag to somehow disable this in the simulator CLI ?
Here are the results of the profiler on a fast sim test run. The command used was go test -cpuprofile cpu.prof -bench -mod=readonly github.com/cosmos/cosmos-sdk/simapp -run TestFullAppSimulation -SimulationEnabled=true -SimulationNumBlocks=100 -SimulationBlockSize=200 -SimulationCommit=true -SimulationSeed=99 -SimulationPeriod=5 -v -timeout 24h:
As soon as amino is fully protobuf compatible, one could use protobuf and amino could basically be just the "codec" to decorate proto messages with their prefix bytes (and wrap them in sth. similar as proto.Any).
See the lengthly discussion here tendermint/go-amino#267. And this PR is a step closer tendermint/go-amino#276 to achieving this. After everything is properly tested with amino, we could first update the amino version, and then, start writing proto files for each type (which will still be a lot of work).
If I understand the profiling result correctly, it appears that 80% of CPU time is attributable to the delegatorShares invariant checks. Why not only check that with small probability every block?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
We are looking into ways to accelerate the simulator (for deeper explorations of the state space) and we found that aside from the GC, the biggest bottleneck seems to be the type reflection used in go-amino.
Would it be possible to have a flag to somehow disable this in the simulator CLI ?
Here are the results of the profiler on a fast sim test run. The command used was
go test -cpuprofile cpu.prof -bench -mod=readonly github.com/cosmos/cosmos-sdk/simapp -run TestFullAppSimulation -SimulationEnabled=true -SimulationNumBlocks=100 -SimulationBlockSize=200 -SimulationCommit=true -SimulationSeed=99 -SimulationPeriod=5 -v -timeout 24h
:profile001.pdf
/cc @fernand
For Admin Use
The text was updated successfully, but these errors were encountered: