【问题标题】:What is profiling?什么是剖析?
【发布时间】:2009-03-06 18:22:04
【问题描述】:

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

  • 什么是分析?
  • 用于分析 .NET、Java EE 的各种免​​费工具有哪些?
  • 可以分析 Javascript 吗?
  • 如果是这样,通过什么工具?
  • 最后,这些分析器是如何工作的?

【问题讨论】:

    标签: profiling


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        Profiler 的实现方式也很像调试器,只是它们不允许您停止程序并四处寻找,它们只是让它运行并跟踪在程序的每个部分花费了多少时间。如果您有一些运行速度比您需要的慢的代码,这将特别有用,因为您可以准确地找出所有时间的去向,并集中精力解决该瓶颈。

        许多开发人员认为您应该永远在不使用分析器的情况下手动优化代码。

        【讨论】:

          【解决方案4】:

          您通常使用分析器的方式如下:

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

          【讨论】:

            【解决方案5】:

            这里有一些 .NET 分析器供您试用(免费):

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

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

            我个人喜欢dotTrace

            【讨论】:

              【解决方案6】:

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

              然而,它不是唯一甚至不一定是最好的方法来定位导致代码浪费时间的事物。 Look here.


              对于不同的维基百科文章,请尝试http://en.wikipedia.org/wiki/Performance_tuning#Bottlenecks

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

              【讨论】:

                【解决方案7】:

                维基百科说:

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

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

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

                【讨论】:

                • 性能分析和分析器的使用被认为是同一件事让我发疯——或者更确切地说,性能测量和性能诊断被认为是同一件事。
                【解决方案8】:

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

                【讨论】:

                  【解决方案9】:

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

                  【讨论】:

                    猜你喜欢
                    • 2013-03-10
                    • 1970-01-01
                    • 1970-01-01
                    • 2012-12-19
                    • 2011-10-10
                    • 1970-01-01
                    • 1970-01-01
                    • 2012-01-31
                    • 1970-01-01
                    相关资源
                    最近更新 更多