|
C++性能测试用例(2) <<psearch->m_times /psearch->m_frequency<<"\n\n"; psearch=psearch->m_pre ; } } 然后是一个"改动者",负责更新CapabilityCount类 class CapabilityCountHelper { DWORD m_begintime; CapabilityCount &m_supervised; public: CapabilityCountHelper(CapabilityCount& in); ~CapabilityCountHelper(); }; CapabilityCountHelper::CapabilityCountHelper(CapabilityCount& in): m_supervised(in) { m_begintime=GetTickCount(); ++m_supervised.m_frequency;//被调用的次数 } CapabilityCountHelper::~CapabilityCountHelper() { DWORD spend=GetTickCount()-m_begintime; m_supervised.m_times +=spend;//花掉的总时间 } 知道怎么用吧? 在要测试的函数前加上 static CapabilityCount //一定要有static哦 CapabilityCountInstance("function name or else"); CapabilityCountHelper CapabilityCountHelperInstance(CapabilityCountInstance);
嫌麻烦? #define KILL_BILL__KILL_BILL__KILL_BILL(clue) static CapabilityCount \ CapabilityCountInstance(clue); \ CapabilityCountHelper CapabilityCountHelperInstance(CapabilityCountInstance) \
最近想看<<杀死比尔>>,虽然杀的不是我想的:( 你可以用更精确的时间函数来测试.不过这不关我事; 你也可以在内联函数中或甚至上面的CapabilityCount::Out函数中加入 KILL_BILL__KILL_BILL__KILL_BILL("CapabilityCount::Out"); 发生什么事可不关我事:( C++程序员+CSdn果然有搞头!..哇噻,衣服上怎么被浇了屎!!!???
|