rippled
rippled copied to clipboard
Destroy tx sets outside of lock.
High Level Overview of Change
This is a performance enhancement that moves destruction of objects that are time consuming to destroy outside of locks.
As transaction volume increases, so does the size of transaction sets for each ledger. This makes it more time-consuming to destroy. Prior to the change, they were destroyed synchronously while in consensus operations, which directly caused consensus to take longer. This change moves unused tx sets into a function that executes on the job queue. Destruction is automatic that way.
Context of Change
Type of Change
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Refactor (non-breaking change that only restructures code)
- [ ] Tests (You added tests for code that already exists, or your new feature included in this PR)
- [ ] Documentation Updates
- [X] Performance Improvement
- [ ] Release
Throughput increases after the change. Also, the duration of consensus is reduced under high volumes, such as >4000/s.
Note: This depends on re-introduction of #4505.
Internal tracker: RPFC-84
@mtrippled - could you resolve the merge conflicts?
Currently blocked because this depends on #4505 (which was reverted)