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: Any good homelabs or K8’s projects to practice container orchestration | reddit.com/r/kubernetes | 2023-02-02
  • Fiber

    ⚡️ Express inspired web framework written in Go

    Project mention: Mastering LiveView development in GoLang | dev.to | 2023-01-19

    Go Live project provides real-time user experiences with server-rendered HTML completely in Go. Inspired by and borrowing from Phoenix LiveViews, Live is intended as a replacement for React, Vue, Angular etc. You can write an interactive web apps just using Go and its templates. The structures provided in this package are compatible with net/http, so will play nicely with middleware and other frameworks. But integrations with other frameworks like Fiber exist as well.

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.

  • Iris

    The fastest HTTP/2 Go Web Framework. New, modern, easy to learn. Fast development with Code you control. Unbeatable cost-performance ratio :leaves: :rocket: | 谢谢 | #golang

    Project mention: A bit about Go Programing language | dev.to | 2022-12-12


  • k6

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

    Project mention: Maximizing concurrent outbound http requests | reddit.com/r/golang | 2022-12-22

    I’d use K6 for this. It’s been optimised for this purpose. https://github.com/grafana/k6

  • immudb

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

    Project mention: AWS and Blockchain | news.ycombinator.com | 2022-11-20
  • pyroscope

    Continuous Profiling Platform. Debug performance issues down to a single line of code

    Project mention: Grafana Phlare, open source database for continuous profiling at scale | news.ycombinator.com | 2022-11-02
  • BigCache

    Efficient cache for gigabytes of data written in Go.

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • pprof

    pprof is a tool for visualization and analysis of profiling data

    Project mention: Why So Slow? Using Profilers to Pinpoint the Reasons of Performance Degradation | dev.to | 2023-01-25

    Because we couldn't identify the issue using the results we got from Callgrind, we reached for another profiler, gperftools. It's a sampling profiler and therefor it has a smaller impact on the application's performance in exchange for less accurate call statistics. After filtering out the unimportant parts and visualizing the rest with pprof, it was evident that something strange was happening with the send function. It took only 71 milliseconds with the previous implementation and more than 900 milliseconds with the new implementation of our Bolt server. It was very suspicious, but based on Callgrind, its cost was almost the same as before. We were confused as the two results seemed to conflict with each other.

  • ristretto

    A high performance memory-bound Go cache

    Project mention: VCache: A Simple In-Memory Cache Library | reddit.com/r/golang | 2023-02-01

    Thanks for sharing. There are a lot of options for embedded in-memory caches: https://github.com/dgraph-io/ristretto https://awesome-go.com/caches/ Do you have any comparisons or details on how your project has a different approach?

  • bombardier

    Fast cross-platform HTTP benchmarking tool written in Go

    Project mention: codesenberg/bombardier: Fast cross-platform HTTP benchmarking tool written in Go | reddit.com/r/devopsish | 2022-07-14
  • plow

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

    Project mention: plow: A high-performance HTTP benchmarking tool | reddit.com/r/CKsTechNews | 2022-07-24
  • 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.

  • statsviz

    :rocket: Visualise Go program runtime metrics in real time in your browser

    Project mention: statsviz: Visualise Go program runtime metrics in real time in your browser | reddit.com/r/golang | 2022-09-08

    Sure. Check out the examples, https://github.com/arl/statsviz/blob/main/_example/README.md I guess I should add a table of contents to that readme

  • 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

  • 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: Quickly checking that a string belongs to a small set | news.ycombinator.com | 2022-12-30

    We took a similar approach in our JSON decoder. We needed to support sets (JSON object keys) that aren't necessarily known until runtime, and strings that are up to 16 bytes in length.

    We got better performance with a linear scan and SIMD matching than with a hash table or a perfect hashing scheme.

    See https://github.com/segmentio/asm/pull/57 (AMD64) and https://github.com/segmentio/asm/pull/65 (ARM64). Here's how it's used in the JSON decoder: https://github.com/segmentio/encoding/pull/101

  • 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)

  • kubectl-flame

    Kubectl plugin for effortless profiling on kubernetes

  • router

    Router implementation for fasthttp (by fasthttp)

  • kube-burner

    Kube-burner is a tool aimed at stressing Kubernetes clusters by creating or deleting a high quantity of objects

  • parca-agent

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

    Project mention: Dwarf-Based Stack Walking Using eBPF | news.ycombinator.com | 2022-11-29

    I find this surprising! Was this for off the shelf applications or some custom binaries?

    As mentioned above, we see DWARF expressions such as `DW_CFA_def_cfa_expression` on the regular. See the "Test Plan" section and commit messages of the PR that introduced support for this particular opcode [0]

    [0]: https://github.com/parca-dev/parca-agent/pull/1058

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

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 2023-02-02.

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 66,123
2 Fiber 24,428
3 Iris 23,502
4 k6 19,292
5 immudb 8,060
6 pyroscope 6,944
7 BigCache 6,245
8 pprof 6,196
9 ristretto 4,329
10 bombardier 3,948
11 plow 3,318
12 fortio 2,815
13 statsviz 2,683
14 fgprof 2,405
15 Trickster 1,840
16 atreugo 993
17 encoding 889
18 Gearbox 703
19 cassowary 653
20 kubectl-flame 604
21 router 369
22 kube-burner 300
23 parca-agent 269
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives