Go Performance

Open-source Go projects categorized as Performance | Edit details
Related topics: #Golang #Go #HTTP #Fast #Router

Top 23 Go Performance Projects

  • GitHub repo 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: Deploy a Go Gin Application on Koyeb | dev.to | 2022-01-12

    Gin is a web framework written in Golang focusing on performance and simplicity.

  • GitHub repo Iris

    The fastest HTTP/2 Go Web Framework. AWS Lambda, gRPC, MVC, Unique Router, Websockets, Sessions, Test suite, Dependency Injection and more. A true successor of expressjs and laravel | 谢谢 https://github.com/kataras/iris/issues/1329 |

    Project mention: Can I mix REST and gRPC? | reddit.com/r/golang | 2021-05-05

    You can through api gateway. It's easier with Iris web framework, example code: https://github.com/kataras/iris/tree/master/_examples/mvc/grpc-compatible.

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • GitHub repo Fiber

    ⚡️ Express inspired web framework written in Go

    Project mention: Anyone have experience or can offer advice selling/influencing JS devs to want to learn and use go? | reddit.com/r/golang | 2022-01-19
  • GitHub repo k6

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

    Project mention: Top 3 Automation Testing Tools for 2022 | dev.to | 2022-01-02

    View on GitHub

  • GitHub repo immudb

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

    Project mention: Quadrable | news.ycombinator.com | 2022-01-15

    I’ve been playing with https://github.com/codenotary/immudb too. Very active community and the maintainers have been super responsive on their discord.

  • GitHub repo BigCache

    Efficient cache for gigabytes of data written in Go.

    Project mention: Recommendation for Key/Value storage | reddit.com/r/golang | 2021-12-29

    There are also different packages used as a wrapper on top of the Go map based on what your requirements are (storing a lot of data) https://github.com/allegro/bigcache or (need performance) https://github.com/dgraph-io/ristretto. For basic use-cases, the standard Go map should be enough. Just keep in mind whether you need concurrent access to your data structure, in which case you should guard your map with a mutex .

  • GitHub repo pprof

    pprof is a tool for visualization and analysis of profiling data

    Project mention: Tokio Console | news.ycombinator.com | 2021-12-17

    Go also has pretty good out of the box profiling (pprof[0]) and third-party runtime debugging (delv[1]) that can be used both remotely and local.

    These tools also have decent editor integration and can be use hand in hand:

    https://blog.jetbrains.com/go/2019/04/03/profiling-go-applic...

    https://blog.jetbrains.com/go/2020/03/03/how-to-find-gorouti...

    [0] https://github.com/google/pprof

    [1] https://github.com/go-delve/delve

  • OPS

    OPS - Build and Run Open Source Unikernels. Quickly and easily build and deploy open source unikernels in tens of seconds. Deploy in any language to any cloud.

  • GitHub repo pyroscope

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

    Project mention: Continuous Profiling in Kubernetes Using Pyroscope | dev.to | 2022-01-19

    Pyroscope is an open source platform, consisting of server and agent. It allows the user to collect, store, and query the profiling data in a CPU and disk efficient way.

  • GitHub repo ristretto

    A high performance memory-bound Go cache

    Project mention: Recommendation for Key/Value storage | reddit.com/r/golang | 2021-12-29

    There are also different packages used as a wrapper on top of the Go map based on what your requirements are (storing a lot of data) https://github.com/allegro/bigcache or (need performance) https://github.com/dgraph-io/ristretto. For basic use-cases, the standard Go map should be enough. Just keep in mind whether you need concurrent access to your data structure, in which case you should guard your map with a mutex .

  • GitHub repo bombardier

    Fast cross-platform HTTP benchmarking tool written in Go

    Project mention: Estou a ser burlado (tenho um anúncio no OLX), e a gostar. Deixa ver até onde isto vai. | reddit.com/r/portugal | 2021-12-26

    Podes utilizar algo como o bombardier.

  • GitHub repo 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.

  • GitHub repo 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.

    Project mention: Go profiler service in AWS | reddit.com/r/golang | 2021-05-10

    As for OP: I'm not aware of a similar offering by AWS itself. You could try https://pyroscope.io/ but I'd be hesitant to recommend it because it's based (well, copied my code without attribution/license, different story : p) on my fgprof project. Unfortunately that means it won't scale to applications with many goroutines and add O(N) stop-the-world pauses to your application 🙈.

  • GitHub repo statsviz

    :rocket: Instant live visualization of your Go application runtime statistics (GC, MemStats, etc.) in the browser

    Project mention: arl/statsviz - Instant live visualization of your Go application runtime statistics (GC, MemStats, etc.). | reddit.com/r/golang | 2021-07-18
  • GitHub repo Trickster

    Open Source HTTP Reverse Proxy Cache and Time Series Dashboard Accelerator

    Project mention: PostgreSQL vs Prometheus | reddit.com/r/PrometheusMonitoring | 2021-06-14

    Are you thinking of something like nginx which would drop the cache periodically? Which would do this: https://github.com/trickstercache/trickster but for any http request?

  • GitHub repo ebpf_exporter

    Prometheus exporter for custom eBPF metrics

    Project mention: Strange IO issue Linux Ubuntu 18.04 | reddit.com/r/sysadmin | 2021-08-31

    There's also the ebpf_exporter which has modules to let you get per-device IO latency data.

  • GitHub repo encoding

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

    Project mention: Fastest JSON parser for large (~888kB) API response? | reddit.com/r/golang | 2022-01-07

    Try this one out https://github.com/segmentio/encoding it's always worked well for me

  • GitHub repo Gearbox

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

  • GitHub repo cassowary

    :rocket: Modern cross-platform HTTP load-testing tool written in Go

  • GitHub repo kubectl-flame

    Kubectl plugin for effortless profiling on kubernetes

    Project mention: Effortless profiling of Python applications on Kubernetes | reddit.com/r/Python | 2021-03-01
  • GitHub repo router

    Router implementation for fasthttp (by fasthttp)

    Project mention: Piko router, a lightweight and blazing fast router for PHP | dev.to | 2021-10-07

    I found libraries in other programming languages that use this approach : matchit (Rust), find-my-way (Javascript), fasthttp (Go) But, curiously, no one in PHP. That's why I decided to bring my contribution to have the same approach in PHP.

  • GitHub repo snmpcollector

    A full featured Generic SNMP data collector with Web Administration Interface for InfluxDB

    Project mention: Observium alternatives due to polling intervals | reddit.com/r/networking | 2021-10-20

    At least a demo can be done with snmpcollector + influxdb (+ Grafana?). I think it allows faster polling, however if I recall, the polling interval is always configured in the measurement template itself.

  • GitHub repo kube-burner

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

    Project mention: 27 open-source tools that can make your Kubernetes workflow easier 🚀🥳 | dev.to | 2021-11-09
  • GitHub repo grofer

    A system and resource monitoring tool written in Golang!

    Project mention: Terminal based activity monitor for Raspberry Pi 4 written in Go | reddit.com/r/golang | 2021-01-21

    This seems interesting. You might also wanna checkout this project Kinda similar to this:https://github.com/pesos/grofer

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 2022-01-19.

Go Performance related posts

Index

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

Project Stars
1 Gin 54,850
2 Iris 21,697
3 Fiber 17,700
4 k6 15,136
5 immudb 6,926
6 BigCache 5,392
7 pprof 5,052
8 pyroscope 4,964
9 ristretto 3,651
10 bombardier 2,999
11 fortio 2,239
12 fgprof 1,930
13 statsviz 1,757
14 Trickster 1,602
15 ebpf_exporter 1,154
16 encoding 809
17 Gearbox 589
18 cassowary 553
19 kubectl-flame 445
20 router 298
21 snmpcollector 241
22 kube-burner 206
23 grofer 190
Find remote jobs at our new job board 99remotejobs.com. There are 29 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
Static code analysis for 29 languages.
Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
www.sonarqube.org