title: profiler for c++ code, very sleepy
body: <p>I'm a newbie with profiling. I'd like to optimize my code to satisfy timing constraints. I use Visual C++ 08 Express and thus had to download a profiler, for me it's Very Sleepy. I did some search but found no decent tutorial on Sleepy, and here my question:
  How to use it properly? I grasped the general idea of profiling, so I sorted according to %exclusive to find my bottlenecks. Firstly, on the top of this list I have <strong>ZwWaitForSingleObject</strong>, <strong>RtlEnterCriticalSection</strong>, <strong>operator new</strong>, <strong>RtlLeaveCriticalSection</strong>, <strong>printf</strong>, some iterators ... and after they take some like 60% there comes my first function, first position with Child Calls. Can someone explain me why above mentioned come out, what do they mean and how can I optimize my code if I have no access to this critical 60%? (for "source file": unknown...). 
  Also, for my function I'd think I get time for each line, but it's not the case, e.g. arithmetics or some functions have no timing (not nested in unused "if" clauses). 
  AND last thing: how to find out that some line can execute superfast, but is called thousands times, being the actual bottleneck?</p>
  
  <p>Finally, is Sleepy good? Or some free alternative for my platform?</p>
  
  <p>Help very appreciated!
  cheers!</p>
  
  <ul>
  <li><ul>
  <li><ul>
  <li><ul>
  <li>UPDATE - - - - - </li>
  </ul></li>
  </ul></li>
  </ul></li>
  </ul>
  
  <p>I have found another version of profiler, called plain Sleepy. It shows how many times some snippet was called plus the number of line (I guess it points to the critical one). So in my case.. <strong>KiFastSystemCallRet</strong> takes <strong>50%</strong>! It means that it waits for some data right? How to improve that matter, is there maybe a decent approach to trace what causes these multiple calls and eventually remove/change it?</p>