什么是剖析?

时间:2009-03-06 18:22:05

标签: profiling

我是新手,正在努力学习。

  • 什么是个人资料?
  • 用于分析.NET,Java EE的各种免费工具是什么?
  • 可以对Javascript进行分析吗?
  • 如果是,请使用哪种工具?
  • 最后,这些分析器如何工作?

9 个答案:

答案 0 :(得分:12)

分析测量代码运行的各个部分需要多长时间。 Javascript可以使用firebug进行分析:http://getfirebug.com/js.html

答案 1 :(得分:5)

profiling正在测量执行时间并将其与各种类/方法/函数相关联。 (请参阅我在维基百科页面上提供的链接,以获取有关分析器如何工作的一些评论)

答案 2 :(得分:4)

将分析器视为执行持续时间错误的调试器。

分析器的实现也很像调试器,除了不是让你停止程序并且四处寻找,它们只是让它运行并跟踪在程序的每个部分花费了多少时间。如果您运行的代码运行速度比运行所需的速度慢,则此功能特别有用,因为您可以确切了解所有时间的运行情况,并集中精力解决这一瓶颈问题。

许多开发人员认为,如果不使用分析器,永远不会手动优化代码。

答案 3 :(得分:3)

您通常使用您的探查器的方式如下:

  1. 启动探查器,使用探查器启动您的应用程序。
  2. 使用您的应用程序一段时间,或仅使用您已确定为瓶颈并希望优化的应用程序中的功能。
  3. 一旦您的应用程序关闭(有时甚至在此之前),分析器可以向您显示每个功能的执行时间细分。有些还允许您在其中一个函数中获得每行或函数的执行时间细分,以便您可以使用自上而下的方法查看cpu大部分时间用完的位置。
  4. 通常,应用程序中的某些功能执行时间会非常长。查看分析结果后,您应该能够识别它们并消除性能问题。

答案 4 :(得分:3)

以下是一些.NET试用版供您试用(免费):

我不是这些人的忠实粉丝。我会推荐其中一种商业产品,以获得最佳效果:

除此之外,请查看Brad Adams博文Profilers for the CLR.NET Application Profiler

我个人喜欢dotTrace

答案 5 :(得分:1)

分析是一种测量执行时间和过程调用次数的技术。

然而,它不是唯一的,甚至是最好的方法来查找导致时间浪费在代码中的东西。 Look here.


有关维基百科的其他文章,请尝试http://en.wikipedia.org/wiki/Performance_tuning#Bottlenecks

要获得简单的操作方法,请尝试http://www.wikihow.com/Optimize-Your-Program%27s-Performance

答案 6 :(得分:0)

维基百科说:

  

在软件工程中,性能分析(今天更常见的称为性能分析)是使用在程序执行时收集的信息调查程序的行为

继续阅读 http://en.wikipedia.org/wiki/Performance_analysis

所以,关于javascript工具 Firebug http://getfirebug.com/index.html#install)是一个很好的选择。

答案 7 :(得分:0)

分析是衡量方法级别(功能统计信息)执行时间以及运行时级别信息收集的度量,例如内存,处理器,线程的消耗以及在一段时间内加载的类的数量(非功能统计信息)应用程序运行的时间。它属于由一个用户运行的相关应用程序的性能分析(功能和非功能统计信息收集)。 JConsole是用于分析Java应用程序的内置工具之一。

答案 8 :(得分:0)

分析或编程分析是对程序进行动态分析的技术,它使用诸如内存空间或程序的时间复杂性、特定指令的使用或频率以及函数调用的持续时间等资源,以说几个案例。通常,分析信息用于帮助程序优化,更具体地说,用于性能工程。分析是通过检测程序的源代码来完成的。探查器采用不同的方法,例如基于事件的方法、统计方法、仪器方法和模拟方法