Interesting Resources
Interesting papers, books and websites are listed here.
Papers
Blogs, Presentations and Docs
- eBPF Library for Go
- What is eBPF
- Shopify’s Architecture to Handle the World’s Biggest Flash Sales
- Martin Fowler - The LMAX Architecture
- Github Page - LMAX Disruptor
- Dave Cheney - Why is a Goroutine’s stack infinite?
- Go channels on steroids
- The Computer Language Benchmark Game
- jdk20 - HotSpot Virtual Machine Garbage Collection Tuning Guide
- jdk8 - Java Platform, Standard Edition Troubleshooting Guide
- Concurrent Marking in G1
- Analyzing Go Heap Escapes
- Reducing Memory Allocations in Golang
- Github - RESP2 Protocol Specification
- Diving into Golang: How does it effectively wrap the functionality of epoll?
- Unlocking Go Slice Performance: Navigating sync.Pool for Enhanced Efficiency
- JBlond Gist - Bash Colors
- k3s
- Understanding GC pauses in JVM, HotSpot’s minor GC (2011)
- Netflix DGS Framework
- Netflix Conductor
- Conductor-sdk
- Orkes - Conductor
- JVM Anatomy Quarks
- Netflix Technology Blog - Bending pause times to your will with Generational ZGC
- InfoQ - How Netflix Really Uses Java
- The Go Programming Language Specification
- Effective Go
- Go Memory Model
- Netflix Technology Blog - Linux Performance Analysis in 60,000 milliseconds
- A Linux sysadmin’s introduction to cgroups
- Glenn Herrin (2000) Linux IP Networking
- Implementing a skip list in go
- ziplist.c source code in github.com/redis
- 10 Tips for using the Eclipse Memory Analyzer
- tikv - B-Tree vs LSM-Tree
- Understanding Allocations in Go
- golang - cmd/trace
- A visual guide to Go Memory Allocator from scratch
- Java Decompiler
- Bash One-Liners Explained
- Linux IP Masquerade HOWTO, David A. Ranch
- MySQL Big DELETEs
- Go Data Structures: Interfaces
- The Go Scheduler
- Linux Kernel Documentation
Database Related
- stackoverflow - how mvcc works with lock in mysql
- jahfer.com - innodb-locks
- mysql_upgrade tool for MySQL < 8.0.16
- Inplace Upgrade MySQL 5.7 to 8.0
- MySQL Shell Upgrade Checker
- github dolthub/dolt
- github dolthub/go-mysql-server
- Github Blog - MySQL High Availability at Github
- MySQL Server Index Archive
- MySQL Server Source Code Documentation
- Hash join in MySQL 8
- MiniOB Github Page - zh-cn
- MiniOB Github - zh-cn
- Oceanbase Github
- Oceanbase Doc
- Use the index, Luke - A Guide to Database Performance for Developers
- Eaton Phil, A write-ahead log is not a universal part of durability
- StackOverflow - How are internal nodes in a innodb b-tree physically stored?
Other Github Repos
- elastic/otel-profiling-agent
- vadv/gopher-lua-libs
- yuin/gopher-lua
- jamiebuilds/the-super-tiny-compiler
- kjpgit/SmallestCSVParser
Perf
Git
- Julia Evans - git rebase: what can go wrong?
- StackOverflow - How do I squash my last N commits together?
Golang
- go.dev - Go Modules: v2 and Beyond
- go.dev - Developing and publishing modules
- 100 Go Mistakes and How to Avoid Them
- Phuong Le, Golang Sync Mutex: Normal and Starvation Mode
- Phuong Le, Vendoring, or go mod vendor: What Is It?
GC
- Yan Yu - A Basic Overview of JVM Garbage Collection - Part 1
- Yan Yu - A Basic Overview of JVM Garbage Collection - Part 2
- How Garbage Collection works inside a Java Virtual Machine
- Uber - Tricks of the Trade: Tuning JVM Memory for Large-scale Services
- Uber - Scaling Uber’s Apache Hadoop Distributed File System for Growth
- Java 11 - HotSpot Virtual Machine Garbage Collection Tuning Guide
- InfoQ - G1: One Garbage Collector To Rule Them All
- InfoQ - Tips for Tuning the Garbage First Garbage Collector
- The Java HotSpot Performance Engine Architecture
- Monica Beckwith (2013) Oracle - Garbage First Garbage Collector Tuning
- Description of HotSpot GCs: Memory Management in the Java HotSpot Virtual Machine White Paper: link (PDF)
- The original CMS paper: Printezis, T. and Detlefs, D. 2000. A generational mostly-concurrent garbage collector. In Proceedings of the 2nd international Symposium on Memory Management (Minneapolis, Minnesota, United States, October 15 - 16, 2000).
- The original G1 paper: Detlefs, D., Flood, C., Heller, S., and Printezis, T. 2004. Garbage-first garbage collection. In Proceedings of the 4th international Symposium on Memory Management (Vancouver, BC, Canada, October 24 - 25, 2004).
- ResearchGate - The original G1 paper: Detlefs, D., Flood, C., Heller, S., and Printezis, T. 2004. Garbage-first garbage collection. In Proceedings of the 4th international Symposium on Memory Management (Vancouver, BC, Canada, October 24 - 25, 2004).
- RedHat, Matt Robson - Part 1: Introduction to the G1 Garbage Collector
- RedHat, Matt Robson - Part 2: Collecting and reading G1 garbage collector logs
- 美团技术团队 - Java Hotspot G1 GC 的一些关键技术