Reconciling the irreconcilable and accelerating the unacceleratable using Go assembler☠️
summary
Shows how to speed up Go programs by writing low-level Go assembler snippets and using SIMD instructions not exposed by the standard toolchain. Covers concrete techniques for embedding unsupported CPU instructions, interfacing with gccgo and cgo, and walks through example programs that demonstrate the performance gains.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 1:29Go compilation
- 6:53Go assembler features
- 17:59Adding slices in assembler
- 22:43Vectorized search
- 27:21Assembler alternatives
- 31:13Other CPU instructions
- 34:01When to use assembler
- 35:23Code support and testing
- 36:28Resources
- 38:10Q&A
related talks
44mImplementing Software Machines in Go and C
17mBetter x86 Assembly Generation with Go
43mUnderstanding the Go Compiler
05mWhat have the architects ever done for us?
39mIs Go A Good Language to Build Compilers?
34mGo Inline Assembler: Dream or Reality
43mDebugging Code Generation in Go
40mSqueezing Maximum Performance Out of Go
