У меня есть графическая программа, и я хочу измерить время выполнения определенных вызовов функций. Поскольку я не уверен, как работает std::cout
, я хотел бы спросить, могут ли звонки на него между вызовами таймера повлиять на производительность. Я знаю, что он медленный сам по себе, поэтому я, естественно, не буду помещать его в функции, которые я измеряю, но буферизован/асинхронен, так что эффект будет задерживаться после того, как звонок возвращает? Я хочу сделать что-то вроде этого (псевдокод):Будет ли std :: cout влиять на таймеры?
timer->Start();
RunSomeFunction();
timer->Stop();
std::cout << timer << std::endl; // Could this affect the next timer event?
timer->Start();
RunAnotherFunction();
timer->Stop();
std::cout << timer << std::endl;
// etc
Вывод на 'std :: cout' из одного потока не является асинхронным. 'timer-> Start()' не запускается, пока не закончится запись. – Yuushi