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. 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.
Project mention: Any good homelabs or K8’s projects to practice container orchestration | reddit.com/r/kubernetes | 2023-02-02 -
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
Iris
-
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: Grafana Phlare, open source database for continuous profiling at scale | news.ycombinator.com | 2022-11-02
-
-
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.
-
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.
-
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?
-
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.
-
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.
-
-
-
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-30We 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
-
-
-
-
-
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!
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]
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Go Performance related posts
- PSA: For anyone having trouble narrowing down performance issues on your sites, use code profiler to find the culprits
- VCache: A Simple In-Memory Cache Library
- Why So Slow? Using Profilers to Pinpoint the Reasons of Performance Degradation
- Show HN: Zcached, in-memory key-value cache wire-compatible with memcached
- Improving the performance of your code starting with Go
- Show HN: I made a tool to find bottleneck and missing index
- I'm creating an open source to find backend's bottleneck and missing index. Jaeger, Hasura, PostgreSQL, MySQL
-
A note from our sponsor - SonarLint
www.sonarlint.org | 4 Feb 2023
Index
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 |