本文整理汇总了C++中Profiler::endBlock方法的典型用法代码示例。如果您正苦于以下问题:C++ Profiler::endBlock方法的具体用法?C++ Profiler::endBlock怎么用?C++ Profiler::endBlock使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Profiler
的用法示例。
在下文中一共展示了Profiler::endBlock方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main()
{
try
{
Profiler *profiler = Profiler::createInstance();
profiler->init();
vector<FuncClassBase*> controlGroup;
vector< PolyVariant<FuncClassBase,FuncClass1,FuncClass2,FuncClass3> > testGroup;
for(int cycle=0;cycle<100;cycle++)
{
profiler->beginBlock("Heap Allocation");
for(int a=0;a<100000;a++)
{
int *i = new int();
*i = 3;
delete i;
}
profiler->endBlock("Heap Allocation");
profiler->beginBlock("Stack Allocation");
for(int a=0;a<100000;a++)
{
int i;
i = 3;
}
profiler->endBlock("Stack Allocation");
profiler->beginBlock("Control Group");
for(int a=0;a<100000;a++)
{
controlGroup.push_back((FuncClassBase*)new FuncClass1(1.0));
controlGroup.push_back((FuncClassBase*)new FuncClass2(1.0));
controlGroup.push_back((FuncClassBase*)new FuncClass3(1.0));
}
for(int a=0;a<(int)controlGroup.size();a++)
{
delete controlGroup[a];
}
controlGroup.clear();
profiler->endBlock("Control Group");
profiler->beginBlock("Variant Test Group");
PolyVariant<FuncClassBase,FuncClass1,FuncClass2,FuncClass3> p2;
for(int a=0;a<100000;a++)
{
{
p2.setValue(FuncClass1(1.0));
testGroup.push_back(p2);
p2.setValue(FuncClass2(1.0));
testGroup.push_back(p2);
p2.setValue(FuncClass3(1.0));
testGroup.push_back(p2);
}
}
testGroup.clear();
profiler->endBlock("Variant Test Group");
profiler->endCycle();
cout << "Done with cycle: " << cycle << endl;
profiler->beginCycle();
}
cout << profiler->getSummary(MILLISECONDS) << endl;
}
catch(const std::exception &ex)
{
cout << ex.what() << endl;
}
system("PAUSE");
return 0;
}