To be most useful, inlined code has to be visible to the caller, which means that the caller has to depend on the internals of the inlined code. When inlined functions change, callers are forced to recompile. For Now' 2. The only time you'd inline right away is when it's an empty function that's likely to stay empty, or you're absolutely forced to, i.e., when writing a non-exported template. Don't worry, you're not alone, most programmers think this at one time or another, but you're still wrong.
Programmers are notoriously poor guessers about where their code's true bottlenecks lie.
Even those developers, however, tend to inline judiciously and tend to tune later rather than earlier. Even in these cases, usually you're better off to use a profiler, and optimize based on its advice. Not a bad deal, that.