Proto: optimizing the SWRR selected_bakers
What
Depends on !20180
Implement a cache for SWRR selected_bakers and use FallbackArray instead of List for storage.
Why
We use the cache to reduce the number of calls to the storage, similar to the Alias sampler. We use FallbackArrays to have constant time cost for accesses in the array. That makes the get_baker function constant time.
How
Manually testing the MR
Checklist
- Document the interface of any function added or modified (see the coding guidelines)
- Document any change to the user interface, including configuration parameters (see node configuration)
- Provide automatic testing (see the testing guide).
-
For new features and bug fixes, add an item in the appropriate changelog (
docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the
Reviewersfield below. -
Select as
Assigneethe next person who should take action on that MR
Edited by Lucas Randazzo