C++ 在VisualStudio中分析循环

C++ 在VisualStudio中分析循环,c++,visual-studio-2015,profiling,C++,Visual Studio 2015,Profiling,我有一个循环,第一次迭代大约需要3分钟,其余99次大约需要1毫秒 我正在尝试找出是否有一种方法可以为每个循环获取单独的分析数据,以及如何做到这一点。 我对评测非常陌生,所以我可能在这里遗漏了一些明显的东西 我应该注意,我知道我的瓶颈在哪里。我的2个函数占用了几乎99.9%的运行时间。我试图弄清楚它是全部在第一个循环中(因此可能是一些分配问题)还是在整个脚本执行过程中“分散” 我在Windows10上使用VisualStudio15(以及它的集成分析器) 编译器必须处于发布模式才能工作(至少在Vi

我有一个循环,第一次迭代大约需要3分钟,其余99次大约需要1毫秒

我正在尝试找出是否有一种方法可以为每个循环获取单独的分析数据,以及如何做到这一点。

我对评测非常陌生,所以我可能在这里遗漏了一些明显的东西

我应该注意,我知道我的瓶颈在哪里。我的2个函数占用了几乎99.9%的运行时间。我试图弄清楚它是全部在第一个循环中(因此可能是一些分配问题)还是在整个脚本执行过程中“分散”

我在Windows10上使用VisualStudio15(以及它的集成分析器)


编译器必须处于发布模式才能工作(至少在Visual Studio中)。

您阅读了和吗?您需要的所有数据似乎都很容易访问。你到底有什么问题?(和。)谢谢你的链接。我知道代码的哪一部分很慢。我试图弄清楚,是否是由于某个奇怪的内存分配的计算错误导致了速度减慢,这样我就可以修复它。编译器需要处于发布模式,我提到的代码才能正常工作(我忘了在前面提到过)。这没那么难。你所要做的就是,当我试图编译时,我得到了“无目标架构”的错误。抛出错误的部分是这个
#elif!定义(RC#u调用)
也许我应该提到它是一个控制台应用程序(一个算法实现)。如果其他人看到这一点,您需要添加
\include\include
,以便编译此代码。
LARGE_INTEGER StartingTime, EndingTime, ElapsedMicroseconds;
QueryPerformanceCounter(&StartingTime);

//code to be profiled

QueryPerformanceCounter(&EndingTime);
ElapsedMicroseconds.QuadPart = EndingTime.QuadPart - StartingTime.QuadPart;

int result[numLoops]
result[0] = ElapsedMicroseconds.QuadPart;

//use result in conjunction with a print function