title: Are compilers smart enough to detect a no-op function?
body: <p>If I write a function like this:</p>
  
  <pre><code>void doMaybeNothing()
  { 
  #ifndef IM_LAZY
     doSomething();
  #endif
  }
  </code></pre>
  
  <p>Are modern compilers smart enough to detect a no-op function and optimize so that there are no cycles wasted? Or is there always a small performance impact?</p>