title: Does Swift use message dispatch for methods?
body: <p>I'm sure my terminology is off, so here's an example:</p>
  
  <ul>
  <li>C/C++ has methods and virtual methods. Both have the opportunity to be inlined at compile time.</li>
  <li>C#'s CIL has <code>call</code> and <code>callvirt</code> instructions (which closely resemble C++ methods and virtual methods). Although almost all method calls in C# become <code>callvirt</code> (due to langauge snafu) the JIT compiler is able to optimize most back to <code>call</code> instructions and then (if worthwhile) also inline them.</li>
  <li>Objective-C method calls are done very differently (and inefficiently); a message object is passed via <code>objc_msgsend</code> every time you call a method, it's a form of dynamic dispatch, and can never be inlined.</li>
  </ul>
  
  <p>Reading up on the language <a href="https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Functions.html#//apple_ref/doc/uid/TP40014097-CH10-XID_204">specification for functions</a> for Swift, I don't know if Swift is using the same messaging system as Objective-C or something different.</p>