onflow / atree

Atree provides scalable arrays and scalable ordered maps.
https://onflow.org
Apache License 2.0
39 stars 16 forks source link

Max map value size can be optimized to reduce number of registers #313

Closed fxamacker closed 1 year ago

fxamacker commented 1 year ago

Issue To Be Solved

Currently, both max map key size and max map value size are the same (about half of max map element size). However, key size can be much smaller than max limit and max value size doesn't benefit from smaller key.

Updates #296 #292

Suggested Solution

Optimize max map value size to reduce number of registers. Compute max map value size by subtracting encoded key size from max map element size. So large value can be stored along with small key to reduce number of registers.