/awesome-go-perf

A curated list of Awesome Go performance libraries and tools

Creative Commons Zero v1.0 UniversalCC0-1.0

Awesome Go performance

Collection of the Awesome™ Go libraries, tools, project around performance.

Contents

Algorithm

Assembly

Benchmarks

Compiling

Compression

Concurrency

Crypto

GC

Hardware

  • klauspost/cpuid - Provides information about the CPU running the current program.

Hash

  • minio/md5-simd - Accelerate aggregated MD5 hashing performance up to 8x for AVX512 and 4x for AVX2.
  • zeebo/xxh3 - XXH3 algorithm in Go.

IO

Math

  • bmkessler/fastdiv - Fast division, modulus and divisibility checks in Go for divisors known only at runtime.

Network

  • valyala/fasthttp - Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http.
  • gnet - high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go.

Profiling

  • profefe - Continuous profiling data collecting.
  • google/pprof - pprof is a tool for visualization and analysis of profiling data.
  • felixge/fgprof - a sampling Go profiler that allows you to analyze On-CPU as well as Off-CPU (e.g. I/O) time together.
  • parca - Parca is a continuous profiling project for applications and infrastructure, built with Go for Go.
  • pyroscope - A modern open source continuous profiling platform for debugging Go performance issues down to a single line of code.

Storage

Testing

Articles

Other

  • templexxx/tsc - Get unix time (nanoseconds) in 8ns, 10x faster than stdlib.