The call to CreateProfThread() can come any time before monitoring is to begin. It will have the least effect on the overall timing of the program if it comes early. The calls to StartCount() and StopCount() must surround the section to be monitored. They can be called multiple times provided calls to them alternate. DestroyProfThread() should be called when data have been retrieved and no more monitoring will be done in the program.