Improve complexity of CompactAssignments::unique_targets (#8314)
* Improve complexity of CompactAssignments::unique_targets Original implementation was O(n**2). Current impl is O(n log n). Avoided the original proposed mitigation because it does not retain the de-duplicating property present in the original implementation. This implementation does a little more work, but retains that property. * Explicitly choose sp_std Vec and BTreeSet Ensures that the macro still works if someone uses it in a context in which sp_std is not imported or is renamed. * explicitly use sp_std vectors throughout compact macro
Showing
- substrate/primitives/npos-elections/compact/src/assignment.rs 1 addition, 1 deletion...trate/primitives/npos-elections/compact/src/assignment.rs
- substrate/primitives/npos-elections/compact/src/codec.rs 10 additions, 10 deletionssubstrate/primitives/npos-elections/compact/src/codec.rs
- substrate/primitives/npos-elections/compact/src/lib.rs 12 additions, 13 deletionssubstrate/primitives/npos-elections/compact/src/lib.rs
- substrate/primitives/npos-elections/src/lib.rs 2 additions, 0 deletionssubstrate/primitives/npos-elections/src/lib.rs
Please register or sign in to comment