在C++/OpenGL中是否有任何简单易行的功能配置文件?我能找到的只有gDEBugger。浏览文档我找不到做我想做的事情的方法。让我解释一下...正如我在其他问题中所说,我玩的是防御塔游戏。目前他们只有3个,但这个数字是可配置的。我有一个适用于所有塔的绘图函数(这个函数可能会调用其他函数,没关系),我想分析这个单一的函数(对于3个塔,然后再次增加数量和分析)。然后我想为塔实现显示列表,进行相同的分析,看看在这种特定情况下使用显示列表是否有任何好处。对于此类任务,您推荐使用哪种分析工具?如果重要的话,我正在使用VisualStudio10在Windows上编写OpenGL。或者这可以用
作为类(class)项目的一部分,我需要分析一段C++代码的性能,并找出计算机体系结构(MIPS或x86)的哪些部分在运行代码时最常被使用,并且可能是性能瓶颈。我正在查看各种分析器来分析性能并遇到了SimpleScalar这是一个很棒的工具,但遗憾的是只适用于C代码。因为我比较熟悉MIPSarchitecture如果有像SimpleScalar这样的工具来模拟和分析MIPS的C++代码,那就太好了。我正在查看分支、缓存、指令集、寻址模式等性能关键部分。如果没有,提及任何可以对x86架构进行类似分析的工具也很好。(澄清一下,我不是在寻找任何旧的分析器,而是在寻找一个了解CPU微体系结构并
我正在尝试使用分析优化一个相当复杂的C++项目(多个源文件,链接到Boost库、GSL和OpenCV)。使用CMake,我首先编译set(CMAKE_CXX_FLAGS"-O3-ffast-math-fprofile-generate=profiling-pg-fopenmp")在使用典型输入运行生成的可执行文件后,我编译set(CMAKE_CXX_FLAGS"-O3-ffast-math-fprofile-use=profiling-fopenmp")编译失败,出现大量类似这样的错误:/n/user/projects/project_name/src/foo.cpp:Inmember
我从来没有做过分析。昨天我用静态时间表(一个map)编写了一个ProfilingTimer类用于时间存储。构造函数存储起始刻度,析构函数计算耗时并将其添加到map中:ProfilingTimer::ProfilingTimer(std::stringname):mLocalNameLength(name.length()){sNestedName+=name;sNestedName+=">";mStartTick=Platform::GetTimerTicks();}ProfilingTimer::~ProfilingTimer(){longlongtotalTicks=Platfor
这个问题已经存在:关闭12年前。PossibleDuplicate:MemoryleaktoolforC++underWindows我曾经从事Mac项目,我真正喜欢XCode的一件事是它的分析器。通过使用该探查器的各种设置运行我的程序,我发现了许多错误。最值得注意的是,它会告诉我我的程序的哪些部分消耗了内存,它会告诉我它是否泄漏了内存,它会告诉我它何时会这样做。如果我正在使用GUI应用程序,它甚至会显示发生这些分配/泄漏/取消分配时我正在做的事情的屏幕截图。现在,我正在使用VisualStudio开发一个Windows/C++项目,我怀疑该项目会消耗过多的内存,并且可能还会泄漏一些内存
我正在尝试使用mutrace测量我的程序中的互斥锁争用,但我对如何使用它输出的报告感到困惑。mutrace:Showingstatisticsforprocesstest(PID:5924).mutrace:1223mutexesused.Mutex#362(0x0x1a23750)firstreferencedby:/usr/local/lib/libmutrace.so(pthread_mutex_init+0x1b2)[0x7fb6b14129b4]./test()[0x500042]Mutex#390(0x0x1a23ac0)firstreferencedby:/usr/loc
我正在寻找适用于MacOS上的C++的代码分析/分析工具。我知道有关于此主题的帖子,但我需要的应用程序非常具体,所以也许有人可以给我一些更具体的建议。所以这是我的问题:我正在用C++编写一个科学代码(硕士项目),所以它是一个纯控制台应用程序,没有给出交互性。该代码应该在大规模并行计算机上运行,因此我使用MPI。但是,现在我还没有针对可扩展性进行优化,而只是针对单核性能进行了优化。由于我不想将整个程序重写为串行程序,因此我只使用具有1个线程的MPI。它工作正常,但优化器显然需要能够处理这个问题。我想分析什么?好吧,代码不是很复杂,因为它有一个非常简单的结构,因此我需要的只是一个程序在
我是分析方面的新手。我想优化我的代码以满足时间限制。我使用VisualC++08Express,因此不得不下载一个分析器,对我来说它非常困。我做了一些搜索,但没有找到关于Sleepy的体面教程,这里是我的问题:如何正确使用?我掌握了profiling的大概思路,所以我按照%exclusive排序,找出我的瓶颈。首先,在这个列表的顶部,我有ZwWaitForSingleObject、RtlEnterCriticalSection、operatornew、RtlLeaveCriticalSection、printf,一些迭代器……在它们占用大约60%之后出现了我的第一个函数,子调用的第一个
我正在尝试加载lbpcascade_profileface.xml。CascadeClassifiercad;cad.load("C:/opencv/data/lbpcascades/lbpcascade_profileface.xml");出现以下错误:OpenCVError:Parsingerror(C:/opencv/data/lbpcascades/lbpcascade_profileface.xml(1):Commentsarenotallowedhere)inunknownfunction,file..\..\..\src\opencv\modules\core\src\p
我可以使用任务管理器来检测巨大的内存泄漏吗?我有一个小型文本解析程序,当我启动它时显示内存使用量约为640K。当我解析一个文件并对其进行索引时,内存使用量会根据文件的大小而增加。然后当我“清除”索引时,我的内存使用量下降到1400K左右。在这一点之后,我可以添加任意数量的文件,当我清除索引时,内存使用量下降到1400k级别+或-~5%。这是在我对程序进行更改之后。在更改之前,每次我对一些文件进行索引然后清除时,内存使用量都会继续上升。因此,在多次清除之后,我的程序的内存使用量越来越大。我意识到这可能是一种分析我的应用程序的“hackish”方式,但我是一名学生,我所能找到的都是商业分析