go-codec v1.1.13 Release Notes

Release Date: 2020-10-19 // over 3 years ago
  • ๐Ÿš€ This is a production release of go-codec.

    ๐Ÿš€ This release should be about 10% faster during decode than previous releases.

    ๐Ÿ”„ Changes

    • ๐Ÿ”ง 10% faster on decode and encoding if omitempty is configured
    • ๐Ÿ‘Œ improved performance in looking up struct field values when decoding structs
    • ๐Ÿ‘ codecgen: support generating reduced code for json only, omitempty support, or to_array support
    • ๐Ÿ‘ omitempty: support for IsCodecEmpty, a custom way of checking if a value is empty
    • โšก๏ธ omitempty: optimize comparing to zero'es to check if a value is empty
    • โšก๏ธ stack overflow/circular references: optimize check by push/popping a stack

    ๐Ÿ‘€ See benchmark results run on a very complicated struct full of embedded types, with multiple nested levels.
    Each struct value encodes as 47K of tightly packed json or 37K of binary msgpack or cbor.

    ๐Ÿ“ฆ The main goal has always been to provide the most feature-rich and performant package
    for encoding and decoding of multiple popular binary and text formats in a consistent way.

    We believe we continue to achieve that!