Skip to content
Opensource internals
  • Posts

Assembly

How Go Finds a Substring: AVX2 Assembly in internal/bytealg

Oct 21, 2026 22 min read Jay Hubbert

strings.Index dispatches to hand-written SSE/AVX2 assembly in internal/bytealg, uses IndexByte to skip to candidate positions, switches to Rabin-Karp for long needles, and picks …

GoInternalsStringsAssemblyPerformance

Read more →

How Go's crypto Package Uses AES-NI and SHA-NI

Oct 21, 2026 17 min read Jay Hubbert

crypto/aes and crypto/sha256 are now thin shims over crypto/internal/fips140, where CPUID feature bits pick between AES-NI, SHA-NI, AVX2 and generic Go implementations at build and …

GoInternalsCryptoAssemblyPerformance

Read more →

© 2026 Jay Hubbert · Built with Hugo 0.168.0

RSS ·