- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我想测量托管 (.NET) 线程的性能。具体来说,我需要测量以下 -
线程使用 CPU 多长时间?
它保持阻塞多长时间(等待远程方法调用完成)?
使用 System.Diagnostic.StopWatch 没有帮助,因为它读取操作系统/硬件的高分辨率性能计时器功能,其中可能包括并行运行和共享同一 CPU 的其他线程消耗的时间。
最佳答案
您可以使用此处描述的方法 http://www.codeproject.com/KB/dotnet/ExecutionStopwatch.aspx它使用系统函数 GetThreadTimes http://msdn.microsoft.com/en-us/library/ms683237(v=vs.85).aspx
等待时间是总时间与执行时间之差。
添加:我喜欢使用一次性类来衡量性能 - 它保持代码干净(例如硬编码控制台使用):
public class ThreadPerformance : IDisposable
{
private Stopwatch _totalStopwatch = new Stopwatch();
private ExecutionStopwatch _executionStopwatch = new ExecutionStopwatch();
public static ThreadPerformance Measure()
{
return new ThreadPerformance();
}
private ThreadPerformance()
{
_totalStopwatch.Start();
_executionStopwatch.Start();
}
public void Dispose()
{
_executionStopwatch.Stop();
_totalStopwatch.Stop();
Console.WriteLine("Performance mesurement for thread {0}", Thread.CurrentThread.ManagedThreadId);
Console.WriteLine("Waiting: {0}", _totalStopwatch.Elapsed - _executionStopwatch.Elapsed);
Console.WriteLine("CPU usage: {0}", _executionStopwatch.Elapsed);
}
}
用法很简单:
static void ThreadProc()
{
using (ThreadPerformance.Measure())
{
// do some calculations and waitings here
}
}
关于c# - 如何衡量 .NET 中托管线程的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4745979/
当今的大多数处理器都配备了硬件性能计数器。此类计数器可用于对微架构事件进行计数,以便分析目标程序以提高其性能。通常,分析和分析是这些计数器的主要目标。 根据文献中的研究论文,这些计数器缺乏准确性。例如
提前声明一下,我对SQL查询的算法了解甚少,请原谅我的无知。 我的问题是:您如何评估特定 SQL 查询的性能?考虑了哪些指标? 例如, SELECT * FROM MyTable; 和 SELECT
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
大多数编程语言中方法的复杂度可以用静态源代码分析器的圈复杂度来衡量。是否有类似的度量标准来衡量 SQL 查询的复杂性? 测量查询返回所需的时间很简单,但是如果我只想量化查询的复杂程度怎么办? [编辑/
我正在开发一个至少有 15 年历史的应用程序。我正在致力于提高具有大约 10K 行代码的特定流程的性能。此流程涉及向外部系统发送有关 JMS 主题的信息。我在创建和缓存 session 的方式中发现了
我如何衡量 Clojure 程序使用了多少内存? 我已经注意到,即使是小程序,也就是这样说 (println "Hello World") 可以消耗几十兆内存,按时间(GNU时间),ps 和其他类似的
我正在开发一个 jQuery 插件,但我不知道哪个版本的 jQuery 是我的插件运行的最小版本。 有什么方法可以衡量我的 jQuery 插件的要求吗? 最佳答案 一些想法: 我没有使用过这个,但快速
我有一个 JavaScript 文件,它接受一个输入,用它做一些计算,然后返回一个结果。现在,我想测量它的性能,例如检查运行 1.000 个输入需要多少时间。问题是我几乎不了解 Javascript(
关闭。这个问题需要更多 focused .它目前不接受答案。 想改进这个问题?更新问题,使其仅关注一个问题 editing this post . 6年前关闭。 Improve this questi
使用 Play 框架测试(未部署的)应用程序性能的最佳工具是什么?比如,请求执行需要多长时间,使用不同的参数,模拟大量请求(压力测试)等。 我搜索了一段时间,但问题是关键字“performance”、
我想知道是否有人知道一个好的 Java 库可以用来衡量 HTML 等效性? 例如相当于 .我想使用 Java 以这种方式比较整个多行 html 字符串。 有什么建议吗? 更新: 所以我尝试使用 Xm
我目前正在使用 VisualVM,但我遇到的问题是我无法保存它生成的图表。我需要报告有关其内存使用情况和运行时间的一些数据,尽管使用 System.nanoTime() 很容易获得运行时间。我也尝试过
我正在尝试对我们的前端进行全面分析,我想知道是否有任何工具可以自动测量 Javascript。 例如: 函数的执行(不需要我在记录之前/之后手动放置日期对象) 我页面上的哪个脚本最慢,为什么 找出我需
假设我有一个有 1000 个并发用户的应用。 衡量 Tomcat 性能的最佳方法是什么?如何确定最大数据库连接数(池)? 如何追踪内存泄漏、CPU 泄漏? 最佳答案 Let's say that I
我需要衡量 React Native 应用程序的性能。什么是最好的工具? 我在 google chrome 中尝试使用 google trace,在 iOS 平台上尝试使用 mac 中的 Instru
我有一些 xaml 文件在整个应用程序中使用。我希望编写单元测试来测试每个 xaml 文件的性能,换句话说,加载/解析和呈现其中一个窗口(使用某些 xaml 文件)需要多长时间。 我发现 XamlRe
我有一个 Web 应用程序,其中包含多个用于 B2B 应用程序的同质 Web 前端(具体来说,我在 App Engine 上运行)。我需要设计一个短期配额系统,以便在客户的突发请求率超过他们的配额时拒
有什么方法可以衡量 Redis Lua 脚本的性能吗? 我有一个 lua 脚本,我最终得到了一个略有不同的实现,我想知道是否有任何方法可以衡量这两个实现中哪个更快。 最佳答案 您可以调用 Redis
我使用 qperf 工具测量 AWS EC2 实例之间的延迟。首先,我测试了两个 c5xlarge 实例之间的 tcp 延迟,我得到了 30 微秒的延迟。后来我终止了这些实例并在新的两个 c5xlar
哪个影响最大? 在 Release模式和 Debug模式下构建 ASP.NET 应用程序 设置在 web.config 中 考虑到性能和内存使用情况,是否有人进行过任何测试以获取有关差异的实际数字?
我是一名优秀的程序员,十分优秀!