Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net NET的分析库_.net_Profiling - Fatal编程技术网

.net NET的分析库

.net NET的分析库,.net,profiling,.net,Profiling,编辑:我不是在问实现评测库的方法,我是在问是否有一个(最好是免费的) 尽管有很多针对.NET平台的商业和免费分析器,但它们都以某种方式分析(更好或更糟)您的应用程序代码,让您看到什么方法调用,甚至是行消耗了大量资源 虽然这在许多快速优化情况下可能有用,但我对更直接的“库”方法感兴趣。基本上,我有一个想法,可以让我定义带有检查点的场景,这样我就可以分析和比较任何两个给定场景的版本 我希望能够定义如下内容: Mon.StartScenario("ClientReportsTime"); // Get

编辑:我不是在问实现评测库的方法,我是在问是否有一个(最好是免费的)

尽管有很多针对.NET平台的商业和免费分析器,但它们都以某种方式分析(更好或更糟)您的应用程序代码,让您看到什么方法调用,甚至是行消耗了大量资源

虽然这在许多快速优化情况下可能有用,但我对更直接的“库”方法感兴趣。基本上,我有一个想法,可以让我定义带有检查点的场景,这样我就可以分析和比较任何两个给定场景的版本

我希望能够定义如下内容:

Mon.StartScenario("ClientReportsTime");
// Get All clients
//...
Mon.CheckPoint(); // You should be able to see memory ussage 
                 //and time taken to reach this point.
// Extract information
//..
Mon.CheckPoint();
// Finished!!
Mon.StopScenario("ClientReportsTime");

这样一个场景就有了一个可以精确识别的给定时间。这是一个相对简单的功能,我正要将其实现为一个库,当时我认为它可能就在某个地方。你知道一些像这样的现有库吗?

你可以查看你自己应用程序的进程信息,也许可以从WMI记录更多信息


不幸的是,它并没有给你提供太多的信息:(

你可以查看你自己应用程序的流程信息,也许可以从WMI记录更多信息


不幸的是,它实际上并没有给您提供太多的内容:(

使用性能计数器怎么样?这将起作用,因为您为场景定义了一个性能计数器,然后使用可用的方法(如增量、增量等)来记录检查点。
有关更多信息,请参阅:。

使用性能计数器如何?这将起作用,因为您为场景定义了性能计数器,然后使用可用的方法(如增量、增量等)记录检查点。
有关更多信息,请参阅:。

,如果您可以选择

  • 能够给你精确的问题时间,但只是不准确地定位问题的东西,或者

  • 这会给你问题的精确位置,但只会给他们不精确的时间

  • 你喜欢哪一种


    如果您可以选择

  • 能够给你精确的问题时间,但只是不准确地定位问题的东西,或者

  • 这会给你问题的精确位置,但只会给他们不精确的时间

  • 你喜欢哪一种


    我可以自己实现它,我对此没有任何问题。因为这是一个库调用,它相对直接地获取您所需的所有信息,特别是语法……问题是,如果已经存在类似的东西(或者如果SO社区认为这是一个坏主意),我不想重新发明轮子我记不起看到过什么,但我已经写过很多次小微版本。这取决于你对什么信息感兴趣。无论如何,它看起来像是单元测试库中方便的东西,也许其中一个已经提供了类似的东西。我可以自己实现它,我没有任何问题因为这是一个库调用,它相对直接地获取您需要的所有信息,特别是语法…问题是如果已经存在类似的东西(或者如果社区的东西是一个坏主意),我不想重新发明轮子我不记得看到过我的任何想法,但我已经写过很多次小微版本。这取决于你对什么信息感兴趣。无论如何,它看起来像是单元测试库中很方便的东西,也许其中一个已经提供了类似的东西。