title: profiling and RtlUserThreadStart
body: <p>I am profiling my multi-threaded application with the software "Sleepy". My threads are created through the windows API using a thread pool.</p>
  
  <p>While profiling, it shows a very high amount of time spent in the following functions :<br>
  - RtlUserThreadStart (time spent : 46% exclusive, 100% inclusive)<br>
  - ZwWaitForMultipleObjects (23% exclusive, 23% inclusive)<br>
  - NtWaitForMultipleOvjects (15.4% exclusive, 15.4% inclusive)<br>
  - NtDelayExecution (7.7% exclusive, 7.7% inclusive)<br>
  - TpWaitForWork (5.8% exclusive, 5.8% inclusive)<br>
  - my actual computations (about 2% inclusive).  </p>
  
  <p>However, I am not sure whether these thread handling functions are in fact the result of my computations or just some "wasted time" (is RtlUserThreadStart exactly the entry point of my callback functions, in which case the multithreading would be good ?). </p>
  
  <p>In short, does these data show that my multi-threading is useless or not ?</p>
  
  <p>Thanks !</p>