Klasa common::Profiler to podstawowa klasa do pomiaru. Przechowuje hierarchię obiektów klasy common::ProfilerItem. Można tworzyć jej obiekt samemu lub skorzystać z domyślnego w zmiennej common::g_Profiler.
Przykład:
void Operacja1() { Wait(11); } void Operacja2() { { PROFILE_GUARD("Pod-operacja 1"); Wait(23); } { PROFILE_GUARD("Pod-operacja 2"); Wait(10); } } void Test() { for (uint i = 0; i < 10; i++) { { PROFILE_GUARD("Operacja 1"); Operacja1(); } { PROFILE_GUARD("Operacja 2"); Operacja2(); } } }
Przykład:
string s; common::g_Profiler.FormatString(&s); std::cout << s << std::endl;
Dla powyższego kodu wynik wygląda tak:
Operacja 1 : 14.92 ms (10) Operacja 2 : 46.8442 ms (10) Pod-operacja 1 : 31.2242 ms (10) Pod-operacja 2 : 15.4256 ms (10)
1.5.5