All Projects → dgryski → Go Perfbook

dgryski / Go Perfbook

Thoughts on Go performance optimization

Projects that are alternatives of or similar to Go Perfbook

Fe Performance Journey
🚵 a Journey of Performance Optimizing in Frontend 🚀
Stars: ✭ 169 (-98.24%)
Mutual labels:  performance, optimization, performance-analysis
Pg stat kcache
Gather statistics about physical disk access and CPU consumption done by backends.
Stars: ✭ 106 (-98.9%)
Mutual labels:  performance, optimization, performance-analysis
Import Cost
displays the import size of the package you are importing inside the code editor
Stars: ✭ 1,021 (-89.36%)
Mutual labels:  performance, performance-analysis
Tinystr
A small ASCII-only bounded length string representation.
Stars: ✭ 48 (-99.5%)
Mutual labels:  performance, optimization
Pc Optimization Hub
collection of various resources devoted to performance and input lag optimization
Stars: ✭ 55 (-99.43%)
Mutual labels:  performance, optimization
Chillout
Reduce CPU usage by non-blocking async loop and psychologically speed up in JavaScript
Stars: ✭ 565 (-94.11%)
Mutual labels:  performance, optimization
Pydis
A redis clone in Python 3 to disprove some falsehoods about performance.
Stars: ✭ 623 (-93.51%)
Mutual labels:  performance, optimization
Profimp
Python import profiler
Stars: ✭ 52 (-99.46%)
Mutual labels:  performance, performance-analysis
Why Did You Update
💥 Puts your console on blast when React is making unnecessary updates.
Stars: ✭ 4,089 (-57.39%)
Mutual labels:  performance, performance-analysis
Traceshark
This is a tool for Linux kernel ftrace and perf events visualization
Stars: ✭ 63 (-99.34%)
Mutual labels:  performance, performance-analysis
Vcprofiler
An accurate and simple tool uses KVO to measure the time cost of every view controller.
Stars: ✭ 61 (-99.36%)
Mutual labels:  performance, performance-analysis
Powa Web
PoWA user interface
Stars: ✭ 66 (-99.31%)
Mutual labels:  performance, optimization
Inspectit
inspectIT is the leading Open Source APM (Application Performance Management) tool for analyzing your Java (EE) applications.
Stars: ✭ 513 (-94.65%)
Mutual labels:  performance, performance-analysis
Watchdoginspector
Shows your current framerate (fps) in the status bar of your iOS app
Stars: ✭ 497 (-94.82%)
Mutual labels:  performance, performance-analysis
Junitperf
⛵️Junit performance rely on junit5 and jdk8+.(java 性能测试框架)
Stars: ✭ 86 (-99.1%)
Mutual labels:  performance, performance-analysis
Pprof
pprof is a tool for visualization and analysis of profiling data
Stars: ✭ 4,990 (-48%)
Mutual labels:  performance, performance-analysis
Sanic.js
JS Gotta go fast ! | Increase native JS functions performances
Stars: ✭ 50 (-99.48%)
Mutual labels:  performance, optimization
Lighthouse Batch
Run Lighthouse analysis over multiple sites in a single command
Stars: ✭ 83 (-99.14%)
Mutual labels:  performance, performance-analysis
Awesome Wp Speed Up
Plugins and resources to speed up and optimize your WordPress site.
Stars: ✭ 375 (-96.09%)
Mutual labels:  performance, optimization
Performance
⏱ PHP performance tool analyser your script on time, memory usage and db query. Support Laravel and Composer for web, web console and command line interfaces.
Stars: ✭ 429 (-95.53%)
Mutual labels:  performance, performance-analysis

go-perfbook

Buy Me A Coffee

This document outlines best practices for writing high-performance Go code.

The first sections cover writing optimized code in any language. The later sections cover Go-specific techniques.

Multiple Language Versions

Table of Contents

  1. Writing and Optimizing Go code
  2. How to Optimize
    1. Optimization Workflow
    2. Concrete Optimization Tips
  3. Data Changes
  4. Algorithmic Changes
  5. Benchmark Inputs
  6. Program Tuning
  7. Optimization Workflow Summary
  8. Garbage Collection
  9. Runtime and Compiler
  10. Unsafe
  11. Common gotchas with the standard library
  12. Alternate Implementations
  13. CGO
  14. Advanced Techniques
  15. Assembly
  16. Optimizing an Entire Service
  17. Tooling
    1. Profiling
    2. Tracer
  18. Appendix
    1. Implementing Research Papers

Contributing

This is a work-in-progress book in Go performance.

There are different ways to contribute:

  1. add to or summarizes the resources in TODO
  2. add bullet points or new topics to be covered
  3. write prose and flesh out the sections in the book

Eventually sample programs to optimize and exercises will be needed (maybe).

Coordination will be done in the #performance channel on the Gophers slack.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].