Skip to content

v0.14.0

Choose a tag to compare

@fxamacker fxamacker released this 11 Mar 02:50
· 42 commits to main since this release
704305f

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