title: Link-time optimization and inline
body: <p>In my experience, there's lot of code that explicitly uses inline functions, which comes at a tradeoff:</p>
  
  <ol>
  <li>The code becomes less succinct and somewhat less maintainable.</li>
  <li>Sometimes, inlining can greatly increase run-time performance.</li>
  <li>Inlining is decided at a fixed point in time, maybe without a terribly good foreknowledge of its uses, or without considering all (future) surrounding circumstances.</li>
  </ol>
  
  <p>The question is: does link-time optimization (e.g., in GCC) render manual inlining, e.g., declaring in C99 a function "inline" and providing an implementation, obsolete? Is it true that we don't need to consider inlining for most functions ourselves? What about functions that do <em>always</em> benefit from inlining, e.g., deg_to_rad(x)?</p>
  
  <p><em>Clarification:</em> I am not thinking about functions that are in the same translation-unit anyway, but about functions that should logically reside in different translation-units.</p>
  
  <p><em>Update:</em> I have often seen an opposition against "inline", and it was suggested obsolete. Personally, however, I do see explicitly inlined functions often: as functions defined in a class body.</p>