title: Class methods VS Class static functions VS Simple functions - Performance-wise?
body: <p><strong>OK, here's what I want :</strong></p>
  
  <ul>
  <li>I have written several REALLY demanding functions (mostly operating on bitmaps, etc) which have to be as fast as possible</li>
  <li>Now, let's also mention that these functions may also be grouped by type, or even by the type of variable on which they operate.</li>
  <li>And the thing is, apart from the very implementation of the algorithms, what I should do - from a technical point of view - in order not to mess up the speed.</li>
  </ul>
  
  <p>And now, <strong>I'm considering the following scenarios</strong> :</p>
  
  <ul>
  <li>Create them as simple functions and just pass the necessary parameters as arguments</li>
  <li>Create a class (for 'grouping'/organisation purposes) and just declare them as static</li>
  <li>Create class by type, e.g. Create a class for working on bitmaps, create a new instance of that Class for every bitmap (e.g. <code>Bitmap* myBitmap = newBitmap(1010);</code>, and operate on it with its inner methods (e.g. <code>myBitmap-&gt;getFirstBitSet()</code>)</li>
  </ul>
  
  <p>Now, which of these approaches is the fastest? Is there really any difference between straight simple functions and Class-encapsulated <code>static</code> functions, performance-wise? Any other scenario that would be preferable, which I haven't mentioned?</p>
  
  <hr>
  
  <p><strong>Sidenote :</strong> I'm using the <code>clang++</code> compiler, for Mac OS X 10.6.8. (if that makes any difference)</p>