Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

implement runtime utility function to aid the benchmarking #327

Closed
14 of 17 tasks
radkomih opened this issue Jan 5, 2024 · 0 comments
Closed
14 of 17 tasks

implement runtime utility function to aid the benchmarking #327

radkomih opened this issue Jan 5, 2024 · 0 comments
Assignees

Comments

@radkomih
Copy link
Collaborator

radkomih commented Jan 5, 2024

depends on gossamer bench-instance branch

  • Benchmark_run exported function
  • build with a tag benchmarks
  • benchmarking api module
  • pass a BenchmarkConfig containing the extrinsic, origin, repeat count
  • reset the setup state for each iteration via rollback (DbWipe, DbCommit do nothing since the state implementation in Gossamer does not implement caching and nested transactions)
  • whitelist known storage keys and signer key
  • set the block number
  • repeat and measure the average time
  • track the db reads/writes
  • return a BenchmarkResult containing the extrinsic time, db reads/writes
  • add timestamp.set benchmark test
    • setup inputs/state
    • validate result/state
    • report metrics
    • switch to Gosemble's extrinsic type
  • add more steps or implement components
@radkomih radkomih self-assigned this Jan 5, 2024
@radkomih radkomih moved this from 🆕 New to 🏗 In progress in Gosemble - Polkadot Runtimes Jan 5, 2024
@radkomih radkomih moved this from 🏗 In progress to 👀 In review in Gosemble - Polkadot Runtimes Jan 9, 2024
@Kirqkas Kirqkas moved this from 👀 In review to ✅ Done in Gosemble - Polkadot Runtimes Jan 26, 2024
@radkomih radkomih closed this as completed Feb 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

No branches or pull requests

1 participant