Skip to content

Conversation

@rem1niscence
Copy link
Collaborator

Description

Adds multiple fixes to some issues found while performance testing and changes that addresses some of the bottlenecks also found

Related Issues

Closes: N/A

Changes Made

  • Fix: LoadMaxBlockSize working inconsistently when creating and handling a sent block, now they both share the same behavior
  • Fix: Check for empty order books on ProcessRootChainOrderBook which caused the orders to be checked even if no orders were sent
  • Feat: Add transaction batch support
  • Feat: LRU cache for public keys on FSM, this helps optimize consensus when a block contains multiple transactions with the same sender
  • Feat: Allow for multiple transactions to be listened not processed in parallel.
  • Change: Now using CommitCertificateParallel and smt.CommitParallel for consensus commit

Checklist

  • I have tested the changes locally and verified they work as intended.
  • I have appropriately titled my branch issue-#<issue-number>.
  • I have run re-built the web-wallet and/or block explorer (if applicable).
  • I have run npm run prettier to format the web-wallet and/or block explorer (if applicable)
  • I have updated documentation (if applicable).
  • I have included tests for the changes (if applicable).

Additional Notes

Several of the changes above, although small, may have a great impact on the chain performance and even behavior, so careful review of this PR is required

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.

3 participants