v0.14.0
This release allows client software to copy arrays and maps up to 2x faster using half the memory allocations. Optimized functions added in this release can benefit EVM, FVM, and FCM.
For example, the open yield vault transaction indirectly uses Cadence's Transfer() about 2900 times. More than 1800 of those 2900 Transfer() calls can use the new optimized functions added to Atree.
Specifically, cadence.ArrayValue.Transfer() using the new atree.Array.CopyNonRefSimple() is 2x faster and uses half as many memory allocations for byte arrays. Enums are copied about 1.5x faster.
The new functions provided by this release are:
Array.CopyNonRefSimple()Array.CanCopyNonRefSimple()OrderedMap.CopyNonRefSimple()OrderedMap.CanCopyNonRefSimple()
What's Changed
- Add support for faster copying of array and map by @fxamacker in #633
- Implement Iterator interfaces for LoadedValueIterator by @fxamacker in #635
CI / GitHub Actions and Chores
🔎 Details...
- Bump github/codeql-action from 4.32.4 to 4.32.5 by @dependabot[bot] in #631
- Bump github/codeql-action from 4.32.5 to 4.32.6 by @dependabot[bot] in #634
Full Changelog: v0.13.0...v0.14.0