“样本”在分析器中代表多少秒?

Posted

技术标签:

【中文标题】“样本”在分析器中代表多少秒?【英文标题】:How many seconds does a "sample" represent in the profiler? 【发布时间】:2013-09-27 23:03:10 【问题描述】:

在 Visual Studio Profiler 中,有一个选项可以使用“采样”分析方法,该方法可用于我的 ASP.NET MVC 应用程序:

Visual Studio Profiling Tools 的采样分析方法 以设定的时间间隔中断计算机处理器并收集 函数调用栈。调用堆栈是一种动态结构,用于存储 有关在处理器上执行的功能的信息。

这让我可以粗略地了解哪些代码的执行时间最长。但是,我不确定每个样本值代表多少时间。 3,441 是 34.41 秒吗?也许没有纯粹的时间测量转换。如果是这样,有人可以解释为什么吗?文档声称有固定的间隔,但没有详细说明每个间隔持续多长时间。

【问题讨论】:

【参考方案1】:

在我的理想世界中,没有人会关心单个例程或代码行的时间测量是多少,只要样本发生在人们关心的时间间隔内,并且与程序的状态无关。

重要的是包含百分比。

对于出现在堆栈样本上的每一行代码,它出现在样本上的百分比(在末尾或中间)很重要,因为这是如果可以删除它可以节省的时间百分比。

(另外,除非我错了,否则我不相信 VS 分析器会在 I/O 期间进行采样,这使得它对不必要的 I/O 视而不见。)

回复您的评论:假设样本为 100/秒 vs. 10/秒,总时间为 10 秒,因此样本数为 1000 vs. 100。 如果一行代码在 20% 的堆栈样本上,那么无论采样率如何,删除它都会节省 20% 的 10 秒或 2 秒。 这就是采样率无关紧要的原因。

【讨论】:

谢谢,感谢您的回答,但我确实关心时间测量。如果有固定的采样间隔,你能解释一下为什么没有固定的时间吗?

以上是关于“样本”在分析器中代表多少秒?的主要内容,如果未能解决你的问题,请参考以下文章

基因差异火山图怎么看

代谢组学3.数据分析

应用统计学方差分析

LAD 线性判别分析

应用统计学方差分析

应用统计学方差分析