标签: profiling

Windows上的本机C++有哪些优秀的分析器?

我正在寻找一个用于本机C++的分析器.它当然不一定是免费的,但成本会影响购买决策.这是为了商业工作,所以我不能使用个人或学术许可副本.

我正在寻找的主要功能是:

  • 流程级别指标
  • 组件级指标
  • 行级指标
  • 支持多线程代码
  • 可用性
  • 成本
  • 需要Visual Studio 2005 Professional支持(非常需要VS 2008 Professional支持)

我使用过英特尔的VTune和Compuware的Devpartner性能分析社区版.

VTune似乎非常强大,但它有一个陡峭的学习曲线.它也非常"模块化",所以你必须弄清楚你需要购买哪些部件.

DevPartner PACE非常易于使用,并提供所有关键功能,但它只进行了45天的试用.许可版本(Visual C++ BoundsChecker Suite的DevPartner)大约1400美元一个座位,这是可行的,但有点高imo.

什么是原生C++的优秀剖析器和为什么


也可以看看:

什么是你最喜欢的C++分析工具

c++ windows performance profiling

17
推荐指数
1
解决办法
2万
查看次数

使用"非常困"分析器来分析DLL

我有一个我想要配置文件的DLL ..我试图使用Very Sleepy,但我似乎无法获取源文件列来显示函数来自哪个源文件,所有显示的都是"未知"..无论如何,我真的很困惑如何使用这个应用程序..谁能指点我一些帮助?关于它的文档不多,似乎最近还没有维护.=//

谢谢..

编辑:添加另一个问题:

这个应用程序中的独家和包容性含义是什么?谢谢..

c++ profiling verysleepy

17
推荐指数
1
解决办法
1万
查看次数

如何找出哪种方法需要花费很多时间?

我的一个组件是花费太多时间来执行.它调用了许多服务,而这些服务又调用了许多dao方法.现在,有没有办法让它调用的每个方法花费时间.
我不想System.currentmillis在每个方法之前和之后编写计算所花费的时间,因为方法太多了.
我想我可能需要使用拦截器,或者可能是任何探查器都可以做到这一点.我不确定,请帮忙.

java debugging time profiling

17
推荐指数
1
解决办法
1万
查看次数

有效地收集有关新PHP项目内部工作的信息.工具?技术?脚本?

我很快就会加入一个已经开发了几年的PHP项目.这将是巨大的,稀疏文档,许多文件,成堆的代码,没有合理的质量水平是预期的.

您将如何收集尽可能多的有关正在发生的事情的信息?

  • 自动加载不被预期的,至少不广泛,所以 inclued可能做好揭示的相互依赖关系.

  • 使用phpDocumentor摘要项目文件可能会了解存在哪些类/方法/函数.

  • 也许phpCallGraph用于方法/函数关系.

  • 使用XDebug分析一些通用用例, 以了解层次结构和概念.

  • 检查重要的日志文件...检查警告,弃用的用法,错误.

  • phpinfo().

  • 也许提取所有注释并将它们处理成html文件.

没有涵盖单元测试,数据库,....

你会怎么做?您对提到的工具有什么经验可以充分利用它们?

您可以假设任何必要的条件.

提取哪些统计信息可能有用?

有人有这些工具的经验吗?

编辑"PHP工具的质量检查":

来自Bryan Waters的编辑2回答:

为PHP项目设置部署/构建/ CI循环 - 由Pekka建议

编辑3

刚刚发现这篇由Gabriele Santini撰写的PDF文章 - "代码的统计分析 - 收听你的PHP代码".这就像一个金矿.

php profiling xdebug inclued

17
推荐指数
1
解决办法
565
查看次数

测量Makefile的每个目标所花费的时间

Makefile当我这样做时,有没有办法回应递归的每个目标所花费的(系统,用户,真实)时间make all

我想以更细粒度的方式对项目的编译进行基准测试time make all.理想情况下,它会回显执行目标的树,每个树都有在其所有依赖项中花费的时间.如果它可以使用-j(并行制作)也会很棒.顺便说一下,我Makefile是非递归的(不会make为每个主要目标产生另一个实例).

谢谢!

benchmarking profiling makefile gnu-make

17
推荐指数
2
解决办法
6579
查看次数

分析弹簧容器以了解如何优化其启动时间的最佳方法是什么?

我有一个相当大的应用程序,Spring启动时间大约是20秒.对于生产用途,这很好,但对于开发来说,这是一个很大的痛苦.

什么是一个很好的分析工具或方法,可以准确地提供我需要的信息,以弄清楚这么长的时间?也许这是我可以优化的东西?

我的应用程序是一个相当典型的spring/hibernate Web应用程序.大概有50个数据库表和几百个bean(比如200-300 ......我没算数).有一些@Configurable bean.大量的组件扫描.我也在使用Spring Security.

我用log4j做了一些原始的分析 - 只是在INFO设置.以下是一些需要花费一些时间的事情:

  • INFO DefaultListableBeanFactory:555 - 预实例化单例 - 2秒
  • INFO SessionFactoryImpl:202 - 构建会话工厂 - 2秒
  • INFO HibernateTransactionManager:415 - 使用Hibernate SessionFactory的DataSource [com.mchange.v2.c3p0.ComboPooledDataSource ......]进行HibernateTransactionManager - 7秒

有几件事最多需要0.5到1秒,但这3件是最大的.

java optimization performance spring profiling

17
推荐指数
1
解决办法
1683
查看次数

stl地图表现?

我在用map<MyStruct, I*> map1;.显然,我总应用时间的9%用于那里.特别是我的一个主要职能的一行.地图不是很大(<1k几乎总是,<20是常见的).

是否有我可能想要使用的替代实现?我想我不应该写自己的,但如果我认为这是一个好主意我可以.

附加信息:我总是在添加元素之前检查.如果存在密钥,我需要报告问题.在一点之后,我将大量使用地图进行查找,并且不会再添加任何元素.

c++ algorithm performance profiling

17
推荐指数
4
解决办法
4万
查看次数

无法对在Windows7上作为服务运行的Tomcat7使用JVisualVM分析

我正在尝试使用在本地运行的JVisualVM(JDK 1.7.0 - 06,64位)将在Apache Tomcat(7.0.34)中运行的Servlet作为Windows 7(64位)上的服务进行分析.

最初我遇到了Tomcat没有显示在本地应用程序列表中的问题,因为不同的"java.io.tmp"属性错误/功能,但在本论坛的几个帖子中建议解决它.

但是,虽然Tomcat进程现在在本地应用程序列表中显示为"本地应用程序",但是当我打开进程时,没有用于Monitor,Threads,Sampler或Profile的选项卡 - 只有JVM参数和Sytem属性子菜单的Overview选项卡-tabs显示可怕的"不支持此jvm"消息.

我仔细检查过以下几项:

  • 通过查看JVisualVM中的JVM属性(使用Tomcat的JMX连接),Tomcat和JVisualVM都运行相同版本的Java
  • 通过查看JVisualVM中的系统属性(再次使用Tomcat的JMX连接)并查看实际的TMP/TEMP目录并确认两者的PID文件,Tomcat和JVisualVM都具有相同的"java.io.tmp"路径存在
  • 文件系统是NTFS
  • Windows用户名称中没有下划线(注意:由于我们使用"firstname.lastname"形式的网络登录,用户确实在名称中有句点,但是在JVisualVM中查看其他Java应用程序时没有问题所以不要认为这是一个问题)
  • 通过查看任务管理器中的进程,Tomcat和JVisualVM都作为同一个Windows用户执行

最后几点:

  • 我需要配置 Servlet,因此使用JMX是不够的
  • 我能够在Windows XP机器(Java 7,Tomcat 7作为服务)上进行配置,因此看起来似乎是Windows 7/64位的东西?

如果有人已经解决了这个问题,那么解决方案将会非常受欢迎.但是,只知道其他人是否正在运行相同的配置 - Windows 7 64位,Java 7 64位,Tomcat 7作为服务运行 - 成功.

更新:我没有作为服务运行,而是使用批处理文件运行Tomcat,并且完美运行:作为服务运行的是什么?

windows tomcat profiling visualvm jvisualvm

17
推荐指数
2
解决办法
8033
查看次数

Nodejs分析:如何处理v8.log文件

我唯一安装的是Nodejs.我使用的是Windows 8 x64.

我通过我的程序运行node --prof app.js.它会生成一个v8.log文件.

现在,我该如何处理v8.log文件?

javascript profiler profiling v8 node.js

17
推荐指数
2
解决办法
1万
查看次数

Haskell重新安装基础并启用了性能分析

我正在尝试按照此处列出的说明重新安装我的Haskell库并启用性能分析

但是,每当cabal尝试重新安装其中一个库时,我都会收到以下消息:

LibraryNameHere.hs:1:1:
    Could not find module `Prelude'
    Perhaps you haven't installed the profiling libraries for package `base'?
    Use -v to see a list of the files searched for.
Run Code Online (Sandbox Code Playgroud)

当我尝试重新base启动并启用性能分析时,我收到以下消息:

me@machine:~/.cabal/$ cabal install -p base
Resolving dependencies...
All the requested packages are already installed:
base-4.5.0.0
Use --reinstall if you want to reinstall anyway.
me@machine:~/.cabal/$ cabal install --reinstall -p base
Resolving dependencies...
cabal: Could not resolve dependencies:
next goal: base (user goal)
rejecting: base-4.7.0.0, 4.6.0.1, 4.6.0.0, 4.5.1.0, …
Run Code Online (Sandbox Code Playgroud)

profiling haskell ghc cabal haskell-platform

17
推荐指数
1
解决办法
2539
查看次数