-
Notifications
You must be signed in to change notification settings - Fork 76
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
PCA: batch internal calls #1303
Conversation
3261bf8
to
78029ed
Compare
The branch on anorth/fvm-workbench used to profile this: filecoin-project/fvm-workbench#12 |
5f53d85
to
f67f5b2
Compare
Collapsing the
The larger saving here might be expected as batching the burns collapses 8 state operations into one. On the other hand, batching Market::ActivateDeals and Registry::ClaimAllocations reduces message overheads but doesn't necessarily save much on actual state operations without a more invasive refactor. |
f18e21f
to
c03e1a3
Compare
f67f5b2
to
fa6ddc6
Compare
47f4057
to
9dd24d3
Compare
9dd24d3
to
43923d2
Compare
WIP for #1278
A preliminary attempt at batching some of the internal calls of PCA in order to reduce gas usage. The code factoring is in need of improvement but this is just an early attempt to see the impact of batching multiple calls into one. This PR introduces batchy versions of:
The initial traces show a ~7-10% reduction in gas usage when a batch of 8 sectors are proved together. Which can be seen here
The total message cost goes down even less ~5%. There's may be internal optimisations to make the batchy methods more efficient but simply batching the method calls seems to only have a smallish effect.