Re-use FVM benchmark transactions for interpreter/vm.#4355
Re-use FVM benchmark transactions for interpreter/vm.#4355
Conversation
Benchstat comparison
Results
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
d45498d to
7df0cfa
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Dependency ReviewThe following issues were found:
License Issuesgo.mod
OpenSSF Scorecard
Scanned Files
|
SupunS
left a comment
There was a problem hiding this comment.
Nice work adding these unified benchmarks!
| flowsdk "github.com/onflow/flow-go-sdk" | ||
| "github.com/onflow/flow-go-sdk/crypto" |
There was a problem hiding this comment.
Is there a way to avoid the circular dependency here (i.e: flow-go-sdk imports cadence) to avoid any complications that we might run into when releasing? Could we maybe have these test as a sub-module, or maybe in a separate repo?
There was a problem hiding this comment.
Yeah I thought I removed all circular dependencies, maybe for simplicity I can port the signUserMessage function to this test file instead of creating a separate module/repo.
There was a problem hiding this comment.
yeah, that's a good idea, if thats easier 👍
There was a problem hiding this comment.
I realized since the verification for the crypto related functionality is currently a NO-OP in the runtime interface, we can just use placeholder values instead of generating valid ones. 5747fa7
|
|
||
| b.StopTimer() | ||
| require.NoError(b, err) | ||
| b.StartTimer() |
There was a problem hiding this comment.
Why does it need to start the timer b.StartTimer() here and stop it at the beginning of the loop? Can't we simply remove both?
There was a problem hiding this comment.
The stopTimer at the beginning of the loop is to account for setup time so that one should stay. This pair of stop/startTimer is just for the error check but could probably be removed. b.Loop() requires the timer to be running at the end which is why there is this startTimer here.
Co-authored-by: Supun Setunga <supun.setunga@gmail.com>
Closes #4329
Description
Takes ~5 minutes for combined inter and vm benchmarks to complete.
inter (master) vs vm (master)
inter(master) vs vm (supun/subtype-gen-runtime)
vm(master) vs vm (supun/subtype-gen-runtime)
masterbranchFiles changedin the Github PR explorer