The Curious Engineer

All blogs / Compilers

mcyoung

mcyoung.xyz

CompilersGoC++Performance / optimizationRust

Posts
39 from 26 Apr 2021 to 4 May 2026
Posting
now and then (3 in the last year)
Kind
personal blog
Feed
https://mcyoung.xyz/atom.xml

2026 2

  1. Hi, I'm Sunny
  2. Breaking the Warranty with go:linkname

2025 16

  1. Optimization Countermeasures
  2. Why SSA?
  3. Default Methods in Go
  4. Parsing Protobuf Like Never Before
  5. The Best C++ Library
  6. What's //go:nosplit for?
  7. Protobuf Tip #7: Scoping It Out
  8. Protobuf Tip #6: The Subtle Dangers of Enum Aliases
  9. Protobuf Tip #5: Avoid import public/weak
  10. Protobuf Tip #4: Accepting Mistakes We Can't Fix
  11. Protobuf Tip #3: Enum Names Need Prefixes
  12. Cheating the Reaper in Go
  13. Protobuf Tip #2: Compress Your Protos!
  14. What the Hell Is a Target Triple?
  15. Protobuf Tip #1: Field Names Are Forever
  16. The Art of Formatting Code

2024 4

  1. Go's Weird Little Iterators
  2. Things You Never Wanted To Know About Go Interfaces
  3. Nobody Gets Fired for Picking JSON, but Maybe They Should?
  4. The Rust Calling Convention We Deserve

2023 7

  1. Designing a SIMD Algorithm from Scratch
  2. What is a Matrix? A Miserable Pile of Coefficients!
  3. I Wrote A String Type
  4. A Gentle Introduction to LLVM IR
  5. Single Abstract Method Traits
  6. Better Trait Resolution in Rust
  7. Atomicless Concurrency

2022 3

  1. 3Hz Computer, Hold the Transistors
  2. std::tuple the Hard Way
  3. The Alkyne GC

2021 7

  1. Move Constructors Revisited
  2. Understanding Assembly Part I: RISC-V
  3. introduction to assembly
  4. Everything You Never Wanted To Know About Linker Script
  5. The Taxonomy of Pointers
  6. Move Constructors in Rust: Is it possible?
  7. earlier blogpost