Hasty Briefsbeta

Bilingual

Matt Godbolt's blog

15 hours ago
  • Inlining is crucial for optimization but can cause code bloat; partial inlining offers a middle ground.
  • Function outlining extracts cold paths into separate functions, leaving a thin wrapper for the hot path.
  • Partial inlining inlines only the wrapper, keeping calls to the outlined cold path, reducing duplication.
  • This allows the compiler to gain performance benefits of inlining for simple checks without duplicating expensive computations.
  • The original function remains intact for external callers, ensuring correctness.
  • Compiler heuristics guide partial inlining decisions, but developers should verify their hot code paths.
  • Different compilers (e.g., GCC and Clang) may apply partial inlining differently.