Skip to content
Opensource internals
  • Posts

Devirtualization

Go Removes Interface Calls With PGO: Devirtualization and Inlining Hot Call Sites

Oct 21, 2026 25 min read Jay Hubbert

A PGO profile tells the Go compiler which concrete type dominates each interface call site; the compiler then rewrites the call as a type-assert plus direct call, falling back to …

GoInternalsPgoDevirtualizationInterfaces

Read more →

© 2026 Jay Hubbert · Built with Hugo 0.168.0

RSS ·