我刚读完这篇文章,介绍如何创build一个性能计数器并更新计数器的值。 但是我对Windows性能计数器的工作范式有点困惑。 假设有2个程序A和B,A想通过一些性能计数器知道B的性能。 以下哪种情况是正确的?
B在Windows中创build/注册一些性能计数器,B负责更新计数器的值。 A可能是系统perfmon.exe 。 A不主动地探测B的执行状态。 A只检查已注册的计数器并获得由B提供和更新的值。 即使没有A,B仍然会一直更新其已注册的性能计数器。 但是这不是对B的performance负担吗?
A主动探测B的执行状态并计算性能计数器的值。 在这个范例中,B没有任何额外的布尔滕。
简而言之,谁负责创build和更新性能计数器? 目标程序的性能正在被测量? 还是测量目标程序性能的主题程序? 对于schemeA,这是一个探索的情况? 或只是一个阅读场景?
64位MapViewOfFile慢?
是否有可能在C ++代码中使用Linux Perf分析器?
iozone什么是logging大小/logging长度?
可以附加到正在运行的进程的c + +分析器?
硬件写入和读取function的Linux
非常感谢。
如何导致指令caching未命中?
有很多读者的时候使用pthread_rwlock的效率
是否有任何好的工具/框架来分析C / C ++应用程序的性能?
.htaccessredirect性能
同步而不扫描单个文件?
性能计数器可能是一个有趣的问题,但是您的总体目标是什么? 你有兴趣找出如何让程序运行得更快吗?
如果没有,请忽略这个答案。
如果是这样,那么有一种观点认为绩效指标是为了计算事物而存在的,而这些指标是你想衡量的。 此外,它表示,衡量是否正确,看你固定是否有所作为,但对于找出性能问题(瓶颈)的确切位置没有多大帮助。
如果有一个瓶颈(可能有),如果删除会导致一些百分比的时间减少(如30%),那么最大的,最明显的线索是什么
在这30%的时间里,这个项目正在做什么?
如果你随机抽取了10个样本,那么在这10个样本中,就有3个(或多或少),你将会“在行动中捕捉到瓶颈”。 注意一件事 – 我们问“什么”。 我们不是问“多少”。
事实上,这需要时间是什么使它容易找到。 调试很难 – 你必须跟踪执行并捕捉错误。 发现瓶颈很容易 – 他们暴露给你。
你不需要测量才能找到。 一旦你找到,你可以衡量。 这是更多关于这个问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。