4 links
tagged with all of: go + optimization + performance
Click any tag below to further narrow down your results
Links
hyperpb is a new high-performance Protobuf library for Go, designed to leverage optimizations from UPB while addressing the challenges of Go's C FFI. It features a dynamic, runtime-based parser that outperforms existing Go Protobuf parsers in benchmarks. The library aims to provide an efficient and flexible solution for handling Protobuf messages in Go applications.
hyperpb is a new high-performance Protobuf library for Go that implements many optimizations from UPB while addressing the unique challenges of Go's runtime. It leverages a dynamic table-driven parsing approach to improve performance and reduce instruction cache issues associated with traditional Protobuf parsers. The library's API allows for efficient message handling and compilation, making it faster than existing Go Protobuf solutions.
The article explores the inefficiencies in Go related to handling io.Reader interfaces, particularly when decoding images with libraries like libavif and libheif. It discusses the challenges of type inspection and the need for optimization to avoid unnecessary data copying, ultimately leading to a workaround that allows for efficient byte extraction. The author critiques the design of Go's standard library concerning structural typing and the hidden requirements for certain functionalities.
Understanding software performance often requires profiling to determine where code execution time is spent. Go offers built-in profiling tools and the article explains how to use flame graphs to visualize profiling data, helping developers identify performance bottlenecks effectively.