Go Performance

Open-source Go projects categorized as Performance

Top 23 Go Performance Projects

  • Gin

    Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.

    Project mention: Password-less Login in Go from Scratch | dev.to | 2024-02-21

    We will be using Gorilla Mux. As per their last update, they have a new group of maintainers, and their repos have shown activity to confirm that. The tutorial can be easily replicated in any other framework or library as well. So, while we will be using Gorilla Mux, you can try to replicate it in Gin or Fiber as well.

  • Fiber

    ⚡️ Express inspired web framework written in Go

    Project mention: อย่าเพิ่งใช้ fiber ถ้ายังไม่ได้อ่าน doc | dev.to | 2023-10-31
  • LearnThisRepo.com

    Learn 300+ open source libraries for free using AI. LearnThisRepo lets you learn 300+ open source repos including Postgres, Langchain, VS Code, and more by chatting with them using AI!

  • k6

    A modern load testing tool, using Go and JavaScript - https://k6.io

    Project mention: K6: A modern load testing tool, using Go and JavaScript | news.ycombinator.com | 2024-01-08
  • immudb

    immudb - immutable database based on zero trust, SQL/Key-Value/Document model, tamperproof, data change history

    Project mention: Ask HN: What is your experience of tamper proof systems? | news.ycombinator.com | 2024-01-05
  • pprof

    pprof is a tool for visualization and analysis of profiling data

    Project mention: Profiling Caddy | news.ycombinator.com | 2024-02-15

    The pprof format is not tied to Go. From my understanding, it's used within Google across multiple languages. The format is defined in the pprof repository[0], and the visualization tool is source-language agnostic. I've seen libraries in numerous languages (e.g. Python, Java) to publish profiles in pprof format. This is an indicator the pprof format has become de-facto. Grafana Pyroscope[1] is a tool that's capable of parsing the pprof format, agnostic to the source programming language, and has instructions for Go, Java, Python, Ruby, node.js, Rust, and .NET.

    My understanding is that you're searching for a combination of the profiles, metrics, and tracing. Caddy supports all 3.

    [0] https://github.com/google/pprof/blob/main/doc/README.md

    [1] https://grafana.com/docs/pyroscope/latest/

    metrics and tracing need to be manually enabled (for now, perhaps)

  • BigCache

    Efficient cache for gigabytes of data written in Go.

  • ristretto

    A high performance memory-bound Go cache

    Project mention: Otter, Fastest Go in-memory cache based on S3-FIFO algorithm | news.ycombinator.com | 2023-12-23

    1. Unfortunately, ristretto has been showing hit ratio around 0 on almost all traces for a very long time now and the authors don't respond to this in any way. Vitess for example has already changed it to another cache. Here are two issues about it: https://github.com/dgraph-io/ristretto/issues/346 and https://github.com/dgraph-io/ristretto/issues/336. That is, ristretto shows such results even on its own benchmarks. You can see it just by running hit ratio benchmarks on a very simple zipf distribution from the ristretto repository: https://github.com/dgraph-io/ristretto/blob/main/stress_test.... On this test I got the following:

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • bombardier

    Fast cross-platform HTTP benchmarking tool written in Go

    Project mention: Discussion: Are we entering the golden age of hacking, where software written by language models that "looks correct" to the lazy human operator is used despite being full of vulnerabilities? | /r/hacking | 2023-03-22

    Why? There is a ready script for that https://github.com/codesenberg/bombardier

  • plow

    A high-performance HTTP benchmarking tool that includes a real-time web UI and terminal display

  • fortio

    Fortio load testing library, command line tool, advanced echo server and web UI in go (golang). Allows to specify a set query-per-second load and record latency histograms and other useful stats.

    Project mention: Fortio, load testing library and command line tool | news.ycombinator.com | 2023-06-21
  • statsviz

    🚀 Visualise your Go program runtime metrics in real time in the browser

  • fgprof

    🚀 fgprof is a sampling Go profiler that allows you to analyze On-CPU as well as Off-CPU (e.g. I/O) time together.

  • Trickster

    Open Source HTTP Reverse Proxy Cache and Time Series Dashboard Accelerator

  • ebpf_exporter

    Prometheus exporter for custom eBPF metrics

    Project mention: Is it possible and good to send data to other host with ebpf? | /r/AskProgramming | 2023-04-22
  • atreugo

    High performance and extensible micro web framework. Zero memory allocations in hot paths.

  • encoding

    Go package containing implementations of efficient encoding, decoding, and validation APIs.

    Project mention: Handling high-traffic HTTP requests with JSON payloads | /r/golang | 2023-12-07
  • kubectl-flame

    Kubectl plugin for effortless profiling on kubernetes

  • Gearbox

    Gearbox :gear: is a web framework written in Go with a focus on high performance

  • cassowary

    :rocket: Modern cross-platform HTTP load-testing tool written in Go (by rogerwelin)

  • any-sync

    An open-source protocol designed to create high-performance, local-first, peer-to-peer, end-to-end encrypted applications that facilitate seamless collaboration among multiple users and devices

    Project mention: Anytype – open-source, local-first, P2P Notion alternative | news.ycombinator.com | 2023-07-20
  • parca-agent

    eBPF based always-on profiler auto-discovering targets in Kubernetes and systemd, zero code changes or restarts needed!

    Project mention: Flameshow: A Terminal Flamegraph Viewer | news.ycombinator.com | 2023-09-24

    If that's true, you should probably update the docs. Everything I could find implied dotnet, jvm, python were still unsupported. For example, the roadmap section of the readme mentions most of these but nothing mentions dotnet. However I did find your tickets and a demo being merged in which makes it seem maybe supported?

    Ticket: https://github.com/parca-dev/parca-agent/issues/161

    Demo: https://github.com/parca-dev/parca-demo/pull/18

  • frpc-go

    fRPC-go is a lightweight, fast, and secure RPC framework implemented for Go that uses Frisbee under the hood

    Project mention: ram-dl - A tool to download more RAM written in Go | /r/golang | 2023-06-30
  • router

    Router implementation for fasthttp (by fasthttp)

  • WorkOS

    The modern API for authentication & user identity. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-02-21.

Go Performance related posts


What are some of the best open-source Performance projects in Go? This list will help you:

Project Stars
1 Gin 74,297
2 Fiber 30,422
3 k6 22,797
4 immudb 8,445
5 pprof 7,231
6 BigCache 7,050
7 ristretto 5,226
8 bombardier 5,111
9 plow 3,748
10 fortio 3,121
11 statsviz 3,067
12 fgprof 2,633
13 Trickster 1,935
14 ebpf_exporter 1,899
15 atreugo 1,174
16 encoding 955
17 kubectl-flame 741
18 Gearbox 737
19 cassowary 710
20 any-sync 511
21 parca-agent 438
22 frpc-go 423
23 router 418
The modern API for authentication & user identity.
The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.