The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
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.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
immudb
immudb - immutable database based on zero trust, SQL/Key-Value/Document model, tamperproof, data change history
-
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.
-
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.
-
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.
-
encoding
Go package containing implementations of efficient encoding, decoding, and validation APIs.
-
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
-
parca-agent
eBPF based always-on profiler auto-discovering targets in Kubernetes and systemd, zero code changes or restarts needed!
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Project mention: How to Build and Document a Go REST API with Gin and Go-Swagger | dev.to | 2024-03-08Now let’s define the functions that will be called whenever a request hits our API. All the functions will be referencing the context provided by the Gin web framework. Paste the following code below the sample slice we just added to api.go:
Project mention: K6: A modern load testing tool, using Go and JavaScript | news.ycombinator.com | 2024-01-08
Project mention: Ask HN: What is your experience of tamper proof systems? | news.ycombinator.com | 2024-01-05
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)
Project mention: Otter, Fastest Go in-memory cache based on S3-FIFO algorithm | news.ycombinator.com | 2023-12-231. 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:
Project mention: Fortio, load testing library and command line tool | news.ycombinator.com | 2023-06-21
Project mention: A Golang framework for web artisans. PHP is so good gophers want to emulate it. | /r/programmingcirclejerk | 2023-07-06
Project mention: Anytype – open-source, local-first, P2P Notion alternative | news.ycombinator.com | 2023-07-20
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
Go Performance related posts
- Nuke v1.3.0 – A memory arena implementation for Go
- Fgprof – The Full Go Profiler
- Nuke: A memory arena implementation for Go
- Profiling Caddy
- Otter, Fastest Go in-memory cache based on S3-FIFO algorithm
- Handling high-traffic HTTP requests with JSON payloads
- HTTP/2 Zero-Day Vulnerability Results in Record-Breaking DDoS Attacks
-
A note from our sponsor - WorkOS
workos.com | 24 Apr 2024
Index
What are some of the best open-source Performance projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | Gin | 75,469 |
2 | Fiber | 31,291 |
3 | k6 | 23,316 |
4 | immudb | 8,481 |
5 | pprof | 7,450 |
6 | BigCache | 7,192 |
7 | ristretto | 5,306 |
8 | bombardier | 5,257 |
9 | plow | 3,794 |
10 | fortio | 3,159 |
11 | statsviz | 3,117 |
12 | fgprof | 2,755 |
13 | ebpf_exporter | 2,018 |
14 | Trickster | 1,954 |
15 | goravel | 1,924 |
16 | atreugo | 1,190 |
17 | encoding | 962 |
18 | kubectl-flame | 767 |
19 | Gearbox | 742 |
20 | cassowary | 723 |
21 | any-sync | 590 |
22 | parca-agent | 476 |
23 | kube-burner | 445 |
Sponsored