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

tapgarden: minter perf fixes #357

Closed
wants to merge 3 commits into from
Closed

tapgarden: minter perf fixes #357

wants to merge 3 commits into from

Conversation

jharveyb
Copy link
Collaborator

Addresses issues #314 and #315.

Implements a header verifier that caches the correct block hash instead making multiple RPC calls for each minting proof generated, and also moves some slower methods in the sprout creation loop into separate goroutines.

It would be better to use a threadPool there instead of starting & stopping the goroutines manually. I think at this point the sprout creation loop is current bottlenecked on key tweaking for new group keys, but not entirely sure.

@Roasbeef
Copy link
Member

I think these optimizations are still relevant? cc @positiveblue

@jharveyb
Copy link
Collaborator Author

jharveyb commented Aug 22, 2023

Sort of, I think the caching header verifier is but that isn't evident when using a network with empty blocks like the itest conditions. After further testing I don't think the script key parallel calls are really relevant.

I think the (more complex) bottleneck is the proof insertion & DB operations that happen after TX confirmation, but there are pending PRs for batch insertion now. Would be good to get data on perf before & after those changes.

@jharveyb
Copy link
Collaborator Author

jharveyb commented Oct 3, 2023

Mostly replaced by fn.ParSlice and existing work on batching requests.

@jharveyb jharveyb closed this Oct 3, 2023
@jharveyb jharveyb deleted the minter_perf_fixes branch January 10, 2024 17:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants