solana/programs
behzad nouri 3252dc7203
uses structural sharing for stake-delegations hash-map (#23585)
StakeDelegations is using Arc to implement copy-on-write semantics:
https://github.com/solana-labs/solana/blob/58c0db970/runtime/src/stake_delegations.rs#L14-L16

However a single delegation change will still clone the entire hash-map,
resulting in excessive memory use as observed in:
https://github.com/solana-labs/solana/issues/23061#issuecomment-1063444072

This commit instead uses immutable hash-map implementing structural
sharing:
> which means that if two data structures are mostly copies of each
> other, most of the memory they take up will be shared between them.
https://docs.rs/im/latest/im/
2022-03-16 12:58:05 +00:00
..
address-lookup-table Bump version to 1.10.3 (#23648) 2022-03-14 11:18:45 -05:00
address-lookup-table-tests Bump version to 1.10.3 (#23648) 2022-03-14 11:18:45 -05:00
bpf uses structural sharing for stake-delegations hash-map (#23585) 2022-03-16 12:58:05 +00:00
bpf_loader Revert: `KeyedAccount` refactoings in builtin programs (#23649) 2022-03-16 11:30:01 +01:00
compute-budget Bump version to 1.10.3 (#23648) 2022-03-14 11:18:45 -05:00
config Revert: `KeyedAccount` refactoings in builtin programs (#23649) 2022-03-16 11:30:01 +01:00
ed25519-tests Bump version to 1.10.3 (#23648) 2022-03-14 11:18:45 -05:00
stake Revert: `KeyedAccount` refactoings in builtin programs (#23649) 2022-03-16 11:30:01 +01:00
vote Revert: `KeyedAccount` refactoings in builtin programs (#23649) 2022-03-16 11:30:01 +01:00
zk-token-proof Bump version to 1.10.3 (#23648) 2022-03-14 11:18:45 -05:00