00001 #ifndef CODE_SPOT_CO_ZA_PROFILE_H_ 00002 #define CODE_SPOT_CO_ZA_PROFILE_H_ 00003 00004 #include <ctime> 00005 #include <iostream> 00006 00015 #define DECLARE_CLOCK(var) \ 00016 namespace codespot_co_za \ 00017 { \ 00018 namespace system \ 00019 { \ 00020 int var; \ 00021 } \ 00022 } 00023 00028 #define START_CLOCK(var, count) codespot_co_za::system::var = clock(); \ 00029 for(unsigned int _##var##i = 0; _##var##i < (count); _##var##i++) { 00030 00036 #define STOP_CLOCK(var) \ 00037 }\ 00038 {\ 00039 int _current_time = clock(); \ 00040 std::cout << "TIME: " << (_current_time - codespot_co_za::system::var) << std::endl; \ 00041 codespot_co_za::system::var = _current_time; \ 00042 } 00043 00044 #define TIME(statement, var) \ 00045 START_CLOCK(var) \ 00046 {statement} \ 00047 END_CLOCK(var) 00048 00049 #endif //CODE_SPOT_CO_ZA_PROFILE_H_