Вы определяете время, когда они вызываются во время выполнения, например:
int main(int argc, char** argv)
{
...
DWORD start = GetTickCount();
CallAFunction();
DWORD end = GetTickCount();
DWORD elapsed = (end >= start) ? (end - start) : ((MAXDWORD - start) + end);
...
}
Лучший способ измерить время кода - использовать профилировщик вместо записи логики в самом коде.Профилировщик подключается к процессу выполнения и вставляет свой собственный код в сами функции.Затем он может отслеживать не только время выполнения функций, но также и то, сколько раз они вызываются, какие функции вызывают, какие функции, регистрируют стеки вызовов и т. Д. Все без написания дополнительного кода.